diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt index af46c9d815..4e1b574093 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt @@ -7,6 +7,7 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightResult import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS import com.mogo.eagle.core.data.multidisplay.TelematicConstant @@ -154,6 +155,28 @@ class TeleMsgHandler : IMsgHandler { CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR,it.body) } } + + TelematicConstant.OBU_RUNREDLIGHT_WARNING -> { + when (String(it.body)) { + "0" -> { + HmiBuildConfig.isShowRunRedLightView = false + } + "1" -> { + HmiBuildConfig.isShowRunRedLightView = true + } + } + } + TelematicConstant.OBU_GREENWAVE_WARNING -> { + when (String(it.body)) { + "0" -> { + HmiBuildConfig.isShowGreenWaveView = false + } + "1" -> { + HmiBuildConfig.isShowGreenWaveView = true + } + } + } + else -> { } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index edfeb86500..e7447f1384 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -2,13 +2,13 @@ package com.mogo.eagle.core.function.hmi.ui.setting import android.content.Context import android.util.AttributeSet -import android.util.Log import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig +import com.mogo.eagle.core.data.multidisplay.TelematicConstant import com.mogo.eagle.core.data.obu.MogoObuConst import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener @@ -21,6 +21,7 @@ import com.mogo.eagle.core.utilcode.kotlin.currentPadding import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -121,6 +122,11 @@ internal class SOPSettingView @JvmOverloads constructor( tbRunRedLightSop.isChecked = HmiBuildConfig.isShowRunRedLightView tbRunRedLightSop.setOnCheckedChangeListener { _, isChecked -> HmiBuildConfig.isShowRunRedLightView = isChecked + if (HmiBuildConfig.isShowRunRedLightView) { + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "1".toByteArray()) + } else { + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_RUNREDLIGHT_WARNING, "0".toByteArray()) + } } /** @@ -129,6 +135,11 @@ internal class SOPSettingView @JvmOverloads constructor( tbGreenWaveSop.isChecked = HmiBuildConfig.isShowGreenWaveView tbGreenWaveSop.setOnCheckedChangeListener { _, isChecked -> HmiBuildConfig.isShowGreenWaveView = isChecked + if (HmiBuildConfig.isShowGreenWaveView) { + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "1".toByteArray()) + } else { + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.OBU_GREENWAVE_WARNING, "0".toByteArray()) + } } //红绿灯标识 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt index f5b05b667d..d838566521 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt @@ -13,5 +13,9 @@ class TelematicConstant { const val OPEN_ROMA_STATUS = 103 const val ROMA_UPDATE = 104 const val CONTROL_PASSENGER_DRIVER_MONITOR = 105 + + const val OBU_RUNREDLIGHT_WARNING = 200 //闯红灯预警开关 + const val OBU_GREENWAVE_WARNING = 201 //绿波通行开关 + } } \ No newline at end of file