[6.7.0][FSM] refactor:删除 Mock 代码;

This commit is contained in:
aibingbing
2024-09-27 19:02:26 +08:00
parent 310fb6b85a
commit b42472c54a
2 changed files with 7 additions and 99 deletions

View File

@@ -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<Status>()?.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<Status>()?.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) {

View File

@@ -71,13 +71,12 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(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,