diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index ec438bc1e4..a51271e89e 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -90,6 +90,14 @@ class MoGoAutopilotProvider : override fun onChannelConnect(channel: Channel?) { val socketAddress = channel?.remoteAddress().toString() CallerLogger.d("$M_ADAS_IMPL$TAG", "Client ip is:${socketAddress}") + synchronized(this@MoGoAutopilotProvider) { + NSDNettyManager.getInstance().selectChannel(channel) + var byteArray = if(FunctionBuildConfig.isDemoMode) byteArrayOf(1) else byteArrayOf(0) + NSDNettyManager.getInstance().sendMogoProtocolMsgToClient(MogoProtocolMsg(3, byteArray.size, byteArray) + ) { + CallerLogger.d("$M_ADAS_IMPL$TAG", "同步美化模式状态是否成功:${it.isSuccess}") + } + } } override fun onChannelDisConnect(channel: Channel?) { @@ -113,7 +121,17 @@ class MoGoAutopilotProvider : // 乘客端收到adas数据直接解析,后续分发解析后的数据流程同司机端 try { msg?.let { - AdasManager.getInstance().parseIPCData(it.body) + when(it.protocolType) { + NORMAL_DATA -> AdasManager.getInstance().parseIPCData(it.body) + 3 -> { + FunctionBuildConfig.isDemoMode = when(it.body[0].toInt()) { + 1 -> true + else -> false + } + setDemoMode(FunctionBuildConfig.isDemoMode) + } + else -> {} + } } } catch (e: Exception) { e.printStackTrace() @@ -305,6 +323,16 @@ class MoGoAutopilotProvider : } else { AdasManager.getInstance().sendDemoModeReq(0) } + // 同步给乘客端 + if (FunctionBuildConfig.appIdentityMode == 0) { + var byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0) + if (NSDNettyManager.getInstance().isServerStart) { + NSDNettyManager.getInstance() + .sendMsgToAllClients(MogoProtocolMsg(3, byteArray.size, byteArray)) + } else { + CallerLogger.d("$M_ADAS_IMPL$TAG", "同步美化模式状态时司机端Server未启动!") + } + } } /**