From b42472c54a723de2a255ca011843429af014cdc6 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Fri, 27 Sep 2024 19:02:26 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0][FSM]=20refactor:=E5=88=A0=E9=99=A4=20Mo?= =?UTF-8?q?ck=20=E4=BB=A3=E7=A0=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../status/StatusManager.kt | 95 +------------------ .../status/flow/fsm/FSMImpl.kt | 11 +-- 2 files changed, 7 insertions(+), 99 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 851dcfb3bc..84dd5fd0ef 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -8,22 +8,14 @@ import androidx.lifecycle.* import androidx.lifecycle.Lifecycle.Event import androidx.lifecycle.Lifecycle.Event.ON_CREATE import androidx.lifecycle.Lifecycle.Event.ON_DESTROY -import chassis.Chassis import com.mogo.commons.utils.MogoAnalyticUtils import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.logger.* import com.mogo.eagle.core.utilcode.util.* -import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus -import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus -import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus -import com.zhjt.mogo_core_function_devatools.status.entity.RTKStatus -import com.zhjt.mogo_core_function_devatools.status.entity.Status -import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus import com.zhjt.mogo_core_function_devatools.status.entity.* -import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart //import com.zhjt.mogo_core_function_devatools.status.entity.NetStatus -import com.zhjt.mogo_core_function_devatools.status.model.StatusModel +import com.zhjt.mogo_core_function_devatools.status.entity.RouteState.RouteStart import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import com.zhjt.mogo_core_function_devatools.status.flow.OverViewImpl import com.zhjt.mogo_core_function_devatools.status.flow.autopilot.AcceleratorImpl @@ -39,6 +31,7 @@ import com.zhjt.mogo_core_function_devatools.status.flow.gps.GpsImpl import com.zhjt.mogo_core_function_devatools.status.flow.ipc.IpcImpl import com.zhjt.mogo_core_function_devatools.status.flow.rtk.RTKImpl import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl +import com.zhjt.mogo_core_function_devatools.status.model.StatusModel import com.zhjt.mogo_core_function_devatools.status.ui.StatusView import com.zhjt.service.chain.ChainLog import kotlinx.coroutines.* @@ -47,7 +40,6 @@ import java.lang.ref.* import java.util.concurrent.* import java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy import java.util.concurrent.atomic.AtomicReference -import kotlin.random.Random object StatusManager { @@ -148,89 +140,6 @@ object StatusManager { last.set(current) } } - - randomStatus(ctx) - } - - //TODO 删除 Mock代码 - var hasFSM = true - var lastTimeMillis = System.currentTimeMillis() - - private fun randomStatus(ctx: Context) { - val current = System.currentTimeMillis() - if (current - lastTimeMillis > 1 * 60 * 1000L) { - hasFSM = !hasFSM - randomNoFSMChange(ctx) - lastTimeMillis = current - } - if (hasFSM) { - randomFSMStatus(ctx) - } else { - randomWithoutFSMStatus(ctx) - } - UiThreadHandler.postDelayed({ - randomStatus(ctx) - }, 500L) - } - private fun randomNoFSMChange(ctx: Context) { - val fsmStatus = FSMStatus(FSMStateCode.ExistNormal, listOf("正常")) - val noFsmStatus = FSMStatus(FSMStateCode.NotExist, listOf("")) - - ctx.lifeCycleScope.launch(dispatcher) { - model.update(if (hasFSM) fsmStatus else noFsmStatus) - } - } - - private fun randomFSMStatus(ctx: Context) { - val fsmNormalStatus = FSMStatus(FSMStateCode.ExistNormal, listOf("正常")) - val fsmErrorStatus = FSMStatus(FSMStateCode.ExistError, listOf("异常")) - - val fSMList = ArrayList()?.also { - it += fsmNormalStatus - it += fsmErrorStatus - it += fsmNormalStatus - it += fsmErrorStatus - it += fsmNormalStatus - it += fsmErrorStatus - it += fsmNormalStatus - it += fsmErrorStatus - } - val randomInt = Random.nextInt(0, fSMList.size - 1) - val randomStatus = fSMList[randomInt] - ctx.lifeCycleScope.launch(dispatcher) { - model.update(randomStatus) - } - } - - private fun randomWithoutFSMStatus(ctx: Context) { - val gearNormal = GearStatus(Chassis.GearPosition.GEAR_P.number, false) - val gearError = GearStatus(Chassis.GearPosition.GEAR_P.number, true) - val acceleratorNormal = AcceleratorStatus(0, false) - val acceleratorError = AcceleratorStatus(0, true) - val brakeNormal = BrakeStatus(0, false) - val brakeError = BrakeStatus(0, true) - val doubleFlashNormal = DoubleFlashStatus(0, false) - val doubleFlashError = DoubleFlashStatus(0, true) - val steerNormal = SteerStatus(0.0f, false) - val steerError = SteerStatus(0.0f, true) - val withOutFSMList = ArrayList()?.also { - it += gearNormal - it += gearError - it += acceleratorNormal - it += acceleratorError - it += brakeNormal - it += brakeError - it += doubleFlashNormal - it += doubleFlashError - it += steerNormal - it += steerError - } - - val randomInt = Random.nextInt(0, withOutFSMList.size - 1) - val randomStatus = withOutFSMList[randomInt] - ctx.lifeCycleScope.launch(dispatcher) { - model.update(randomStatus) - } } fun show(container: ViewGroup) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/fsm/FSMImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/fsm/FSMImpl.kt index e151818859..b823d1706d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/fsm/FSMImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/fsm/FSMImpl.kt @@ -71,13 +71,12 @@ internal class FSMImpl(ctx: Context) : IFlow(ctx), IMoGoAutopilotStat } override fun onCreate() { - //TODO 删除 Mock代码 - //send(FSMStatus(getStateCode(), getDesc())) + send(FSMStatus(getStateCode(), getDesc())) CallerLogger.d("$M_DEVA$TAG", "-- onCreate --") - //CallerAutoPilotStatusListenerManager.addListener(TAG, this) - //CallerFsm2024ListenerManager.addListener(TAG, this) - // CallerNodeStateListenerManager.addNodeStateListener(TAG, setOf(AdasConstants.NodeName.FSM2024), this) - //CallerOrderListenerManager.addListener(TAG, this) + CallerAutoPilotStatusListenerManager.addListener(TAG, this) + CallerFsm2024ListenerManager.addListener(TAG, this) + CallerNodeStateListenerManager.addNodeStateListener(TAG, setOf(AdasConstants.NodeName.FSM2024), this) + CallerOrderListenerManager.addListener(TAG, this) } override fun onAutopilotIpcConnectStatusChanged( status: AdasConstants.IpcConnectionStatus,