From b6ebaee200dd5ebd263be2ea629b8f6b90f00746 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 13 Nov 2023 20:34:34 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.0]=20[charter]=20[m1]=20[=E7=BE=8E?= =?UTF-8?q?=E5=8C=96=E6=A8=A1=E5=BC=8F=E5=88=86=E5=8F=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/charter/manager/BeautifyManager.kt | 60 ----------------- .../autopilot/AutopilotStatusViewModel.kt | 11 ++-- .../callback/IBeautifyModeCallback.kt | 7 -- .../passenger/model/CharterPassengerModel.kt | 2 +- .../presenter/BusPassengerPresenter.kt | 3 +- .../passenger/ui/statusbar/StatusBarView.kt | 4 +- .../passenger/utils/BeautifyManager.kt | 61 ------------------ .../manager/beautifymode/BeautifyManager.kt | 64 +++++++++++++++++++ .../beautifymode}/IBeautifyModeCallback.kt | 3 +- 9 files changed, 75 insertions(+), 140 deletions(-) delete mode 100644 OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/manager/BeautifyManager.kt delete mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/callback/IBeautifyModeCallback.kt delete mode 100644 OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/utils/BeautifyManager.kt create mode 100644 OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/BeautifyManager.kt rename OCH/{charter/driver/src/main/java/com/magic/mogo/och/charter/callback => mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode}/IBeautifyModeCallback.kt (50%) diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/manager/BeautifyManager.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/manager/BeautifyManager.kt deleted file mode 100644 index 84865b9764..0000000000 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/manager/BeautifyManager.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.magic.mogo.och.charter.manager - -import com.magic.mogo.och.charter.callback.IBeautifyModeCallback -import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo -import java.util.concurrent.ConcurrentHashMap - -object BeautifyManager { - - private val TAG = BeautifyManager::class.java.simpleName - - enum class ChangeTypeEnum{ - BEAUTIFY_TYPE,// 美化模式变化 - ORDER_STATU_CHANGE,// 订单状态发生变化 - ARRIVED_DEST,// 到站 - STOPSITE_SUCCESS// 靠边停车成功 - } - - private val orderStatusChangeListeners = ConcurrentHashMap() - - @Volatile - @JvmField - var isBeautifyMode = false - - init { - isBeautifyMode = FunctionBuildConfig.isDemoMode - BizLoopManager.setLoopFunction(TAG, LoopInfo(3, ::checkDemoMode)) - } - - private fun checkDemoMode() { - if(isBeautifyMode!=FunctionBuildConfig.isDemoMode){ - isBeautifyMode = FunctionBuildConfig.isDemoMode - notifyViewChange(ChangeTypeEnum.BEAUTIFY_TYPE) - } - } - - - fun setStatusChangeListener( - tag: String, - orderStatusChangeListener: IBeautifyModeCallback? - ) { - if (tag.isBlank()) return - if (orderStatusChangeListener == null) { - orderStatusChangeListeners.remove(tag) - return - } - orderStatusChangeListeners[tag] = orderStatusChangeListener - } - - - fun notifyViewChange(typeEnum: ChangeTypeEnum){ - CallerLogger.d(TAG,"美化模式变化原因:${typeEnum}") - orderStatusChangeListeners.forEach { - it.value.dispatchStatus(typeEnum) - } - } - -} \ No newline at end of file diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt index 02637d026d..d297d147dc 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/view/autopilot/AutopilotStatusViewModel.kt @@ -1,21 +1,19 @@ package com.magic.mogo.och.charter.view.autopilot import androidx.lifecycle.ViewModel -import com.magic.mogo.och.charter.callback.IBeautifyModeCallback import com.magic.mogo.och.charter.callback.IDriverM1ControllerStatusCallback import com.magic.mogo.och.charter.constant.CharterConst -import com.magic.mogo.och.charter.manager.BeautifyManager import com.magic.mogo.och.charter.model.DriverM1Model import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.manager.beautifymode.BeautifyManager +import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback import com.mogo.och.common.module.utils.RxUtils import java.util.concurrent.atomic.AtomicBoolean @@ -176,7 +174,10 @@ class AutopilotStatusViewModel: ViewModel(), IDriverM1ControllerStatusCallback, } override fun dispatchStatus(typeEnum: BeautifyManager.ChangeTypeEnum) { - setUIMode(CallerAutoPilotStatusListenerManager.getState()) + ThreadUtils.runOnUiThread( { + // 自驾状态变更回调(可能成功可能失败) + setUIMode(CallerAutoPilotStatusListenerManager.getState()) + },ThreadUtils.MODE.QUEUE) } interface IAutopilotStatusCallback{ diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/callback/IBeautifyModeCallback.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/callback/IBeautifyModeCallback.kt deleted file mode 100644 index 8c8481f71d..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/callback/IBeautifyModeCallback.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.mogo.och.charter.passenger.callback - -import com.mogo.och.charter.passenger.utils.BeautifyManager - -interface IBeautifyModeCallback { - fun dispatchStatus(typeEnum: BeautifyManager.ChangeTypeEnum) -} \ No newline at end of file diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index 9ecfcf55b4..8a281e7963 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -30,7 +30,6 @@ import com.mogo.och.charter.passenger.callback.* import com.mogo.och.charter.passenger.constant.CharterPassengerConst import com.mogo.och.common.module.manager.loopmanager.BizLoopManager import com.mogo.och.charter.passenger.net.BusPassengerServiceManager -import com.mogo.och.charter.passenger.utils.BeautifyManager import com.mogo.och.common.module.wigets.toast.ToastCharterUtils import com.mogo.och.charter.passenger.utils.VoiceFocusManager import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg @@ -43,6 +42,7 @@ import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.CharterSendTripInfoManager import com.mogo.och.common.module.manager.CharterSendTripInfoManager.LEAVE_STATION import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.beautifymode.BeautifyManager import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt index 4162fb60b3..a0523ec277 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/presenter/BusPassengerPresenter.kt @@ -11,7 +11,6 @@ import com.mogo.commons.AbsMogoApplication import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -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.order.CallerOrderListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager @@ -32,9 +31,9 @@ import com.mogo.och.charter.passenger.receive.DriverMessage import com.mogo.och.charter.passenger.ui.MainFragment import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteName import com.mogo.och.charter.passenger.ui.overmapview.MakerWithSiteNamewithCheck -import com.mogo.och.charter.passenger.utils.BeautifyManager import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager +import com.mogo.och.common.module.manager.beautifymode.BeautifyManager import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager import com.mogo.och.common.module.manager.devicemanage.callback.LightAirconditionDoorCallback import com.mogo.och.common.module.manager.stopsidemanager.OCHPlanningActionsCallback diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt index 75888d6638..20352dba05 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/statusbar/StatusBarView.kt @@ -22,11 +22,11 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.charter.passenger.R import com.mogo.och.charter.passenger.bean.response.OrderInfoResponse -import com.mogo.och.charter.passenger.callback.IBeautifyModeCallback import com.mogo.och.charter.passenger.model.CharterPassengerModel import com.mogo.och.charter.passenger.model.OrderStatusEnum import com.mogo.och.charter.passenger.ui.debugview.DebugEvent -import com.mogo.och.charter.passenger.utils.BeautifyManager +import com.mogo.och.common.module.manager.beautifymode.BeautifyManager +import com.mogo.och.common.module.manager.beautifymode.IBeautifyModeCallback import com.mogo.och.common.module.manager.loopmanager.BizLoopManager import com.mogo.och.common.module.manager.loopmanager.LoopInfo import com.mogo.och.common.module.manager.stopsidemanager.StopSideManager diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/utils/BeautifyManager.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/utils/BeautifyManager.kt deleted file mode 100644 index aab0b204bb..0000000000 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/utils/BeautifyManager.kt +++ /dev/null @@ -1,61 +0,0 @@ -package com.mogo.och.charter.passenger.utils - -import com.mogo.eagle.core.data.config.FunctionBuildConfig -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -import com.mogo.och.charter.passenger.callback.IBeautifyModeCallback -import com.mogo.och.charter.passenger.ui.statusbar.StatusBarView -import com.mogo.och.common.module.manager.loopmanager.BizLoopManager -import com.mogo.och.common.module.manager.loopmanager.LoopInfo -import java.util.concurrent.ConcurrentHashMap - -object BeautifyManager { - - private val TAG = BeautifyManager::class.java.simpleName - - enum class ChangeTypeEnum{ - BEAUTIFY_TYPE,// 美化模式变化 - ORDER_STATU_CHANGE,// 订单状态发生变化 - ARRIVED_DEST,// 到站 - STOPSITE_SUCCESS// 靠边停车成功 - } - - private val orderStatusChangeListeners = ConcurrentHashMap() - - @Volatile - @JvmField - var isBeautifyMode = false - - init { - isBeautifyMode = FunctionBuildConfig.isDemoMode - BizLoopManager.setLoopFunction(TAG, LoopInfo(3, ::checkDemoMode)) - } - - private fun checkDemoMode() { - if(isBeautifyMode!=FunctionBuildConfig.isDemoMode){ - isBeautifyMode = FunctionBuildConfig.isDemoMode - notifyViewChange(ChangeTypeEnum.BEAUTIFY_TYPE) - } - } - - - fun setStatusChangeListener( - tag: String, - orderStatusChangeListener: IBeautifyModeCallback? - ) { - if (tag.isBlank()) return - if (orderStatusChangeListener == null) { - orderStatusChangeListeners.remove(tag) - return - } - orderStatusChangeListeners[tag] = orderStatusChangeListener - } - - - fun notifyViewChange(typeEnum: ChangeTypeEnum){ - CallerLogger.d(TAG,"美化模式变化原因:${typeEnum}") - orderStatusChangeListeners.forEach { - it.value.dispatchStatus(typeEnum) - } - } - -} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/BeautifyManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/BeautifyManager.kt new file mode 100644 index 0000000000..047fb960e3 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/BeautifyManager.kt @@ -0,0 +1,64 @@ +package com.mogo.och.common.module.manager.beautifymode + +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import java.util.concurrent.ConcurrentHashMap + +object BeautifyManager : IViewControlListener, IReceivedMsgListener { + + private val TAG = BeautifyManager::class.java.simpleName + + enum class ChangeTypeEnum{ + BEAUTIFY_TYPE,// 美化模式变化 + ORDER_STATU_CHANGE,// 订单状态发生变化 + ARRIVED_DEST,// 到站 + STOPSITE_SUCCESS// 靠边停车成功 + } + + private val orderStatusChangeListeners = ConcurrentHashMap() + + init { + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + CallerHmiViewControlListenerManager.addListener(TAG,this) + } else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + CallerTelematicListenerManager.addListener(TAG,this) + } + } + + fun setStatusChangeListener(tag: String, orderStatusChangeListener: IBeautifyModeCallback?) { + if (tag.isBlank()) return + if (orderStatusChangeListener == null) { + orderStatusChangeListeners.remove(tag) + return + } + orderStatusChangeListeners[tag] = orderStatusChangeListener + } + + + fun notifyViewChange(typeEnum: ChangeTypeEnum){ + CallerLogger.d(TAG,"美化模式变化原因:${typeEnum}") + orderStatusChangeListeners.forEach { + it.value.dispatchStatus(typeEnum) + } + } + + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + + } + + override fun onDemoMode(isDemoMode: Boolean) { + notifyViewChange(ChangeTypeEnum.BEAUTIFY_TYPE) + } + + override fun updateFuncMode(tag: String, boolean: Boolean) { + if (tag == IViewControlListener.FUNC_MODE_DEMO) { + notifyViewChange(ChangeTypeEnum.BEAUTIFY_TYPE) + } + } + +} \ No newline at end of file diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/callback/IBeautifyModeCallback.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/IBeautifyModeCallback.kt similarity index 50% rename from OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/callback/IBeautifyModeCallback.kt rename to OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/IBeautifyModeCallback.kt index 2670f4c73b..b07c013249 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/callback/IBeautifyModeCallback.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/beautifymode/IBeautifyModeCallback.kt @@ -1,6 +1,5 @@ -package com.magic.mogo.och.charter.callback +package com.mogo.och.common.module.manager.beautifymode -import com.magic.mogo.och.charter.manager.BeautifyManager interface IBeautifyModeCallback { fun dispatchStatus(typeEnum: BeautifyManager.ChangeTypeEnum)