[charter]
[m1]
[美化模式分发]
This commit is contained in:
yangyakun
2023-11-13 20:34:34 +08:00
parent 04875a220a
commit b6ebaee200
9 changed files with 75 additions and 140 deletions

View File

@@ -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<String, IBeautifyModeCallback>()
@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)
}
}
}

View File

@@ -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{

View File

@@ -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)
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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<String, IBeautifyModeCallback>()
@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)
}
}
}

View File

@@ -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<String, IBeautifyModeCallback>()
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)
}
}
}

View File

@@ -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)