红绿灯预警方法合并

This commit is contained in:
董宏宇
2021-08-11 21:06:31 +08:00
parent 012c52560d
commit 8999ee34d6
2 changed files with 42 additions and 67 deletions

View File

@@ -23,7 +23,7 @@ adb shell am broadcast -a com.hmi.v2x.trafficlight --ez trafficLightIsShow false
adb shell am broadcast -a com.hmi.v2x.limitingvelocity --ez limitingVelocityIsShow true --ei limitingVelocitySpeed 60
adb shell am broadcast -a com.hmi.v2x.limitingvelocity --ez limitingVelocityIsShow false
// 控制OBU场景自测
// 控制OBU场景自测 obuStates 1-添加2-删除0-更新
adb shell am broadcast -a com.obu.test_trigger --ei obuStates 1 --ei obuLevel 3 --ei obuType 0x2A01
// 控制OBU 展示周边周边车辆 惠新西街南口附近,南向北

View File

@@ -13,6 +13,7 @@ import com.zhidao.support.obu.MogoObuManager
import com.zhidao.support.obu.OnMogoObuListener
import com.zhidao.support.obu.constants.ObuConstants
import com.zhidao.support.obu.model.*
import com.zhidao.support.obu.model.advance.Light
/**
* @description
@@ -129,37 +130,7 @@ class MogoPrivateObuManager private constructor() {
override fun onCvxIvpThreatIndInfo(info: CvxIvpThreatIndInfo?) {
Logger.d(MogoObuConst.TAG_MOGO_OBU, "CvxIvpThreatIndInfo ------> $info")
info?.let {
when (info.status) {
// 添加
ObuConstants.STATUS.ADD -> {
info.ext_info.lights.forEach {
when (it.phase) {
// 灯光不可用
0x0 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(0)
}
// 红灯
0x1 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(1)
}
// 绿灯
0x2 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(3)
}
// 黄灯
0x3 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(2)
}
}
}
}
// 删除
ObuConstants.STATUS.DELETE -> {
mIMoGoWaringProvider?.disableWarningTrafficLight()
}
else -> {
}
}
handlerTrafficLight(info.status, info.ext_info.lights)
}
}
@@ -167,42 +138,10 @@ class MogoPrivateObuManager private constructor() {
override fun onCvxMapSpatInfoIndInfo(info: CvxMapSpatInfoIndInfo?) {
Logger.d(MogoObuConst.TAG_MOGO_OBU, "onCvxMapSpatInfoIndInfo ------> $info")
info?.let {
when (info.status) {
// 添加
ObuConstants.STATUS.ADD -> {
info.ivp_threat_ext.lights.forEach {
when (it.phase) {
// 灯光不可用
0x0 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(0)
}
// 红灯
0x1 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(1)
}
// 绿灯
0x2 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(3)
}
// 黄灯
0x3 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(2)
}
}
}
}
// 删除红绿灯
ObuConstants.STATUS.DELETE -> {
mIMoGoWaringProvider?.disableWarningTrafficLight()
}
// 更新
else -> {
}
}
handlerTrafficLight(info.status, info.ivp_threat_ext.lights)
}
}
// 弱势交通预警
override fun onCvxPtcInfoIndInfo(info: CvxPtcInfoIndInfo?) {
Logger.d(MogoObuConst.TAG_MOGO_OBU, "onCvxPtcInfoIndInfo ------> $info")
@@ -270,6 +209,42 @@ class MogoPrivateObuManager private constructor() {
}
}
/**
* 处理红绿灯
*/
private fun handlerTrafficLight(status: Int, lights: List<Light>) =
when (status) {
// 添加
ObuConstants.STATUS.ADD -> {
lights.forEach {
when (it.phase) {
// 灯光不可用
0x0 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(0)
}
// 红灯
0x1 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(1)
}
// 绿灯
0x2 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(3)
}
// 黄灯
0x3 -> {
mIMoGoWaringProvider?.showWarningTrafficLight(2)
}
}
}
}
// 删除
ObuConstants.STATUS.DELETE -> {
mIMoGoWaringProvider?.disableWarningTrafficLight()
}
else -> {
}
}
/**
* 返回OBU监听
*/
@@ -411,9 +386,9 @@ class MogoPrivateObuManager private constructor() {
}
}
when (status) {
when (status) {
// 添加
ObuConstants.STATUS.ADD-> {
ObuConstants.STATUS.ADD -> {
//显示警告红边
mMogoServiceApis!!.v2XListenerManager.warningChangedForListenerWithDirection(
getMessageDirection(direction),