diff --git a/README.md b/README.md index 27d6f2a681..438d86a6a0 100644 --- a/README.md +++ b/README.md @@ -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 展示周边周边车辆 惠新西街南口附近,南向北 diff --git a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt index 395b9478bc..49d65bada5 100644 --- a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt +++ b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt @@ -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) = + 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),