From 5e477b5873dc11479d22cc75564b813a2a39a1e9 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 4 Dec 2024 11:34:32 +0800 Subject: [PATCH] [6.8.2] add func of fusion color --- .../socket/lan/LanSocketManagerJava.java | 3 ++ .../autopilot/MoGoAutopilotControlProvider.kt | 28 +++++++++++++++++++ .../autopilot/telematic/TeleMsgHandler.kt | 26 +++++++++++++++++ .../hmi/ui/operate/OperatePanelLayout.kt | 1 + .../hmi/ui/setting/DebugSettingView.kt | 18 +++++++++++- .../core/data/config/FunctionBuildConfig.kt | 4 +-- .../IMoGoAutopilotControlProvider.kt | 6 ++++ .../api/telematic/IReceivedMsgListener.kt | 4 ++- .../CallerAutoPilotControlManager.kt | 6 ++++ .../CallerTelematicListenerManager.kt | 17 +++++++++++ .../main/res/values/operate_panel_config.xml | 6 ++-- gradle.properties | 16 +++++------ 12 files changed, 120 insertions(+), 15 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java index 325e0df9e2..1e416bbe44 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/socket/lan/LanSocketManagerJava.java @@ -85,5 +85,8 @@ public class LanSocketManagerJava implements IReceivedMsgListener { } + @Override + public void onFusionColor(boolean fusionColor) { + } } diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt index 5494a0ca96..6186e5f1cf 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/MoGoAutopilotControlProvider.kt @@ -56,6 +56,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.telematic.MogoProtocolMsg import com.mogo.telematic.MogoProtocolMsg.NORMAL_DATA +import com.mogo.telematic.MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS import com.mogo.telematic.MogoProtocolMsg.SYNC_MODE_STATUS import com.mogo.telematic.NSDNettyManager import com.mogo.telematic.client.listener.NettyClientListener @@ -161,6 +162,7 @@ class MoGoAutopilotControlProvider : override fun run() { // 同步是否开启美化模式 setDemoMode(FunctionBuildConfig.isDemoMode) + setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) msgHandler.synMsgToAllClients() } @@ -559,6 +561,32 @@ class MoGoAutopilotControlProvider : } } + /** + * 感知颜色绘制同步 + */ + override fun setFusionColor(isEnable: Boolean) { + // 同步给乘客端 + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + val byteArray = if (isEnable) { + "1;${System.currentTimeMillis()}".toByteArray() + } else { + "0;${System.currentTimeMillis()}".toByteArray() + } + if (NSDNettyManager.getInstance().isServerStart) { + NSDNettyManager.getInstance() + .sendMsgToAllClients( + MogoProtocolMsg( + SYNC_FUSION_COLOR_STATUS, + byteArray.size, + byteArray + ) + ) + } else { + CallerLogger.d("$M_D_C$TAG", "同步感知颜色绘制时司机端Server未启动!") + } + } + } + override fun setIgnoreConditionDraw(isIgnore: Boolean) { // 同步给乘客端 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { 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 0eca37e334..1e337efc80 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 @@ -20,6 +20,7 @@ import com.mogo.eagle.core.data.multidisplay.TelematicConstant import com.mogo.eagle.core.data.v2x.V2XEvent.RoadEventX import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setFusionColor import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager @@ -74,6 +75,9 @@ class TeleMsgHandler : IMsgHandler { @Volatile private var demoModeTime = 0L + @Volatile + private var fusionColorTime = 0L + @Volatile private var timestamp = 0L @@ -299,6 +303,27 @@ class TeleMsgHandler : IMsgHandler { } } + MogoProtocolMsg.SYNC_FUSION_COLOR_STATUS -> { + val content = String(it.body) + if (content.contains(";")) { + val strArr = content.split(";") + if (strArr.size == 2) { + val currTime = strArr[1].toLong() + if (currTime > fusionColorTime) { + val fusionColor = when (strArr[0]) { + "1" -> true + else -> false + } + CallerTelematicListenerManager.dispatchFusionColor(fusionColor) + fusionColorTime = currTime + invokeNettyConnResult("乘客屏收到 fusionColor为:${fusionColor}") + } else { + invokeNettyConnResult("乘客屏收到过时的fusionColor") + } + } + } + } + MogoProtocolMsg.REQ_MAC_ADDRESS -> { val carConfig = MessagePad.CarConfigResp.parseFrom(msg.body) AppConfigInfo.plateNumber = carConfig.plateNumber @@ -481,6 +506,7 @@ class TeleMsgHandler : IMsgHandler { val socketAddress = channel?.remoteAddress().toString() CallerLogger.d("${SceneConstant.M_D_C}$TAG", "Client ip is:${socketAddress}") setDemoMode(FunctionBuildConfig.isDemoMode) + setFusionColor(FunctionBuildConfig.isFusionColor) setIgnoreConditionDraw(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 6206187a24..9824d618a4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -445,6 +445,7 @@ class OperatePanelLayout : LinearLayout { FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 FunctionBuildConfig.fusionMode = 2 CallerAutoPilotControlManager.sendFusionMode(2) + CallerAutoPilotControlManager.setFusionColor(isChecked) CallerHmiViewControlListenerManager.invokeFuncMode(IViewControlListener.FUNC_FUSION_COLOR,isChecked) CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) hmiAction("V2I场景进PNC, ", isChecked) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index ef69fb5d4a..17d52a5c62 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -75,6 +75,7 @@ import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion. import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.api.setting.ISopSettingListener +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager @@ -97,6 +98,7 @@ import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuInfoListenerManager import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager import com.mogo.eagle.core.function.call.setting.CallerSopSettingManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog @@ -360,7 +362,8 @@ internal class DebugSettingView @JvmOverloads constructor( IMoGoChassisStatesListener, IMoGoSweeperFutianCleanSystemListener, IMoGoObuInfoListener, - ISopSettingListener, IViewControlListener, IMoGoCloudListener, IBindStateChangeListener { + ISopSettingListener, IViewControlListener, IMoGoCloudListener, IBindStateChangeListener, + IReceivedMsgListener { companion object { private const val TAG = "DebugSettingView" @@ -469,6 +472,8 @@ internal class DebugSettingView @JvmOverloads constructor( CallerHmiViewControlListenerManager.addListener(TAG, this) + CallerTelematicListenerManager.addListener(TAG, this) + //添加 业务配置监听 CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( FuncBizConfig.FOUNDATION, TAG, true, this @@ -513,6 +518,9 @@ internal class DebugSettingView @JvmOverloads constructor( CallerSopSettingManager.removeListener(TAG) CallerHmiViewControlListenerManager.removeListener(TAG) + + CallerTelematicListenerManager.removeListener(TAG) + DevicesManager.removeBindStateChangeListener(TAG) // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener( @@ -946,6 +954,7 @@ internal class DebugSettingView @JvmOverloads constructor( btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor btnDrawFusion.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isFusionColor = isChecked + CallerAutoPilotControlManager.setFusionColor(isChecked) } // 演示模式,上一次勾选的数据 @@ -2714,6 +2723,13 @@ internal class DebugSettingView @JvmOverloads constructor( tbCarAperture.isChecked = status } + override fun onFusionColor(fusionColor: Boolean) { + super.onFusionColor(fusionColor) + ThreadUtils.runOnUiThread { + btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor + } + } + override fun updateFuncMode(tag: String, boolean: Boolean) { super.updateFuncMode(tag, boolean) if (tag == FUNC_MODE_DEMO) { diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index c971c7d358..c19a7adb21 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -360,14 +360,14 @@ object FunctionBuildConfig { */ @Volatile @JvmField - var v2nNewLinkedToPNC = false + var v2nNewLinkedToPNC = true /** * 是否开启V2I场景进PNC的开关,开关默认关闭 */ @Volatile @JvmField - var v2iToPNC = false + var v2iToPNC = true @Volatile @JvmField diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt index c50de87886..8daeb83c7d 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotControlProvider.kt @@ -164,6 +164,12 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider { */ fun setDemoMode(isEnable: Boolean) + /** + * 融合颜色 + * 司机屏同步给乘客屏 + */ + fun setFusionColor(isEnable: Boolean) + /** * 是否忽略条件直接绘制 * 司机屏同步给乘客屏 diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt index 403be36126..be29500fef 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/telematic/IReceivedMsgListener.kt @@ -1,9 +1,11 @@ package com.mogo.eagle.core.function.api.telematic interface IReceivedMsgListener { - fun onReceivedMsg(type: Int, byteArray: ByteArray) + fun onReceivedMsg(type: Int, byteArray: ByteArray){} fun onReceivedServerSn(sn: String?) {} fun onDemoMode(isDemoMode: Boolean) {} + + fun onFusionColor(fusionColor: Boolean){} } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt index 33fdcfc114..8fdad0d5fb 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotControlManager.kt @@ -349,6 +349,12 @@ object CallerAutoPilotControlManager { } } + fun setFusionColor(isEnable: Boolean){ + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + providerApi?.setFusionColor(isEnable) + } + } + /** * 是否忽略条件直接绘制 * 司机屏同步给乘客屏 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt index 0a8b681a24..159805f016 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/telematic/CallerTelematicListenerManager.kt @@ -57,4 +57,21 @@ object CallerTelematicListenerManager: CallerBase() { } } } + + fun dispatchFusionColor(fusionColor: Boolean) { + if (fusionColor != FunctionBuildConfig.isFusionColor) { + FunctionBuildConfig.isFusionColor = fusionColor + M_LISTENERS.forEach { + val listener = it.value + try { + listener.onFusionColor(fusionColor) + } catch (e: Exception) { + e.printStackTrace() + Log.e(TAG, "转发感知颜色出现异常:${e.message}") + } + } + } + } + + } \ No newline at end of file diff --git a/core/mogo-core-res/src/main/res/values/operate_panel_config.xml b/core/mogo-core-res/src/main/res/values/operate_panel_config.xml index 309989d4a5..d010cc6d86 100644 --- a/core/mogo-core-res/src/main/res/values/operate_panel_config.xml +++ b/core/mogo-core-res/src/main/res/values/operate_panel_config.xml @@ -8,10 +8,10 @@ true - false + true - false + true false @@ -26,7 +26,7 @@ false - false + true false diff --git a/gradle.properties b/gradle.properties index 3c047be2d6..c1845175ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -64,21 +64,21 @@ bytex.ASM_API=ASM7 LOGLIB_VERSION=1.10.18 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.7.42 +MOGO_NETWORK_VERSION=1.4.7.58 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.7.42 +MOGO_PASSPORT_VERSION=1.4.7.58 # 长链接 -MOGO_SOCKET_VERSION=1.4.7.42 +MOGO_SOCKET_VERSION=1.4.7.58 # 数据采集 -MOGO_REALTIME_VERSION=1.4.7.42 +MOGO_REALTIME_VERSION=1.4.7.58 # 直播推流 -MOGO_LIVE_VERSION=1.4.7.42 +MOGO_LIVE_VERSION=1.4.7.58 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.7.42 +MOGO_TRAFFICLIVE_VERSION=1.4.7.58 # 定位服务 -MOGO_LOCATION_VERSION=1.4.7.42 +MOGO_LOCATION_VERSION=1.4.7.58 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.7.42 +MOGO_TELEMATIC_VERSION=1.4.7.58 # 动态换肤SDK MOGO_SKIN_VERSION=1.4.7.49.19 ######## MogoAiCloudSDK Version ########