diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt index 87d3fa02d8..217e99139d 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeProvider.kt @@ -115,6 +115,12 @@ class BridgeProvider : BridgeService, CallerBase() { } } + fun inVokeAutopilotData(oldStatus:Int,newStatus:Int) { + M_LISTENERS.forEach { + it.value.onAutopilotChangeListener(oldStatus,newStatus) + } + } + fun invokePncData(pncAction:String){ M_LISTENERS.forEach { it.value.onPncInfoListener(pncAction) diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeServiceManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeServiceManager.kt index 90042f2721..07fe491ade 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeServiceManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/BridgeServiceManager.kt @@ -46,6 +46,10 @@ object BridgeServiceManager { this.bridgeService?.inVokeNdeData(title,desc,sortedList) } + fun invokeAutopilotData(oldStatus:Int,newStatus:Int) { + this.bridgeService?.inVokeAutopilotData(oldStatus,newStatus) + } + fun invokePncData(pncAction:String){ this.bridgeService?.invokePncData(pncAction) } diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt index c13e508984..03897ba137 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/autopilot/OchAutoPilotStatusListenerManager.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListe import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.bridge.BridgeServiceManager import com.mogo.och.common.module.R import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation import com.mogo.och.bridge.autopilot.line.LineManager @@ -82,6 +83,7 @@ object OchAutoPilotStatusListenerManager : CallerBase) {} + fun onAutopilotChangeListener(oldStatus:Int,newStatus:Int) {} + fun onPncInfoListener(pncAction: String) {} fun onCollisionRisk() {} diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt index 5692fa3b3b..4f1121f4fd 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanDriverSocket.kt @@ -1,6 +1,7 @@ package com.mogo.och.common.module.biz.lansocket import android.util.Log +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.och.common.module.BuildConfig @@ -18,6 +19,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.ChangeBusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.manager.socket.lan.bean.RemoteNoticeModel2Client import com.mogo.och.common.module.manager.socket.lan.bean.ScreenType import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.FlavorUtils @@ -54,6 +56,7 @@ object LoginLanDriverSocket : ILoginCallback { LanSocketManager.sendMsgToClient(msg) } LoginStatusManager.sendLogin2Client() + LanSocketManager.sendMsgToClient(RemoteNoticeModel2Client(CallerHmiManager.isRemoteNoticeMode())) } } @@ -92,6 +95,7 @@ object LoginLanDriverSocket : ILoginCallback { }else{ BizLoopManager.setLoopFunction(TAG, LoopInfo(60*10, ::loopCheck)) } + LanSocketManager.sendMsgToClient(RemoteNoticeModel2Client(CallerHmiManager.isRemoteNoticeMode())) } else -> { BizLoopManager.removeLoopFunction(TAG) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt index 9054f7c896..22fd4002ec 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/lansocket/LoginLanPassengerSocket.kt @@ -1,6 +1,7 @@ package com.mogo.och.common.module.biz.lansocket import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -14,6 +15,7 @@ import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.manager.socket.lan.bean.BaseDPMsg import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.EnvCheck +import com.mogo.och.common.module.manager.socket.lan.bean.RemoteNoticeModel2Client import com.mogo.och.common.module.utils.CallerBase import kotlin.properties.Delegates @@ -79,6 +81,20 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase { + override fun targetLan(): Class { + return RemoteNoticeModel2Client::class.java + } + + override fun onLanMsgReceived(first: RemoteNoticeModel2Client?) { + first?.let { + CallerHmiManager.setRemoteNoticeMode(first.showNotice) + } + } + + } + fun load() { OchChainLogManager.writeChainLogInit("初始化信息","初始局乘客屏局域网内部分信息") } @@ -93,7 +109,9 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase + + + + + + + \ No newline at end of file diff --git a/OCH/common/common/src/main/res/layout/common_enter_remote_passenger_view.xml b/OCH/common/common/src/main/res/layout/common_enter_remote_passenger_view.xml new file mode 100644 index 0000000000..ef259d3556 --- /dev/null +++ b/OCH/common/common/src/main/res/layout/common_enter_remote_passenger_view.xml @@ -0,0 +1,35 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml index 6cace80b45..ac2259345c 100644 --- a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml +++ b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml @@ -30,6 +30,16 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + diff --git a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_hpmap_fragment.xml b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_hpmap_fragment.xml index 37d0d6e0b0..39cd2319f1 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_hpmap_fragment.xml +++ b/OCH/shuttle/passenger_weaknet/src/main/res/b2/layout/shuttle_p_m2_hpmap_fragment.xml @@ -86,7 +86,14 @@ android:layout_width="@dimen/dp_411" android:layout_height="@dimen/dp_650"/> - + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index 42c0e5c60e..4969812b51 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -453,6 +453,14 @@ class MoGoHmiProvider : IMoGoHmiProvider { MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingVerifyMode(TAG, isMode) } + override fun setRemoteNoticeMode(isMode: Boolean) { + MogoStatusManager.getInstance().setRemoteNoticeMode(TAG, isMode) + } + + override fun isRemoteNoticeMode(): Boolean { + return MogoStatusManager.getInstance().isRemoteNoticeMode + } + override fun registerXiaoZhiStatusChangeListener(listener: OnXiaoZhiStateChangeListener) { xiaozhi.addListener(listener) } 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 20948e0fb8..47801fb002 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 @@ -1088,6 +1088,7 @@ class OperatePanelLayout : LinearLayout { private const val KEY_WEATHER_EFFECT_SWITCH = "weather_effect_switch" private const val KEY_SYSTEM_BOOT_STATUS_SHOW = "system_boot_status_show" private const val KEY_SELF_ROUTING_VERIFY_MODE = "self_routing_verify_mode" + private const val KEY_REMOTE_MODE_SHOW_NOTICE = "remote_mode_show_notice" private const val KEY_UNMANNED_DEMO_PULL_INTERVAL = "unmanned_demo_pull_interval" private const val KEY_SWEEPER_CLOUD_CONTROL = "sweeper_cloud_control" private const val KEY_LOOK_AROUND_360 = "look_around_360" @@ -1140,6 +1141,9 @@ class OperatePanelLayout : LinearLayout { KEY_SELF_ROUTING_VERIFY_MODE -> { return CallerHmiManager.isTaxiUnmanedDriverLineRoutingVerifyMode() } + KEY_REMOTE_MODE_SHOW_NOTICE -> { + return CallerHmiManager.isRemoteNoticeMode() + } KEY_LOOK_AROUND_360 -> { return CallerHmiManager.isM1360LookAroundShowing() } @@ -1177,6 +1181,9 @@ class OperatePanelLayout : LinearLayout { ||AppIdentityModeUtils.isShuttleDriver(FunctionBuildConfig.appIdentityMode) ||AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode) } + KEY_REMOTE_MODE_SHOW_NOTICE -> { + AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) + } KEY_LOOK_AROUND_360 -> { AppIdentityModeUtils.isM1(FunctionBuildConfig.appIdentityMode) } @@ -1285,6 +1292,12 @@ class OperatePanelLayout : LinearLayout { } return true } + KEY_REMOTE_MODE_SHOW_NOTICE -> { + val isChecked = newValue as? Boolean ?: true + CallerHmiManager.setRemoteNoticeMode(isChecked) + clickEventAnalytics("平行驾驶介入及退出提醒", isChecked) + return true + } KEY_SELF_ROUTING_VERIFY_MODE -> { val isChecked = newValue as? Boolean ?: false if (isChecked) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml index 90c277557e..74efdfbf13 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml @@ -792,6 +792,19 @@ app:layout_constraintRight_toRightOf="@id/otherGuideLine" app:layout_constraintTop_toBottomOf="@id/scSweeperModeSwitch" /> + + + +