[6.7.0][FSM] feat: 增加 FSM 异常弹框,同时展示实时 FSM 状态;

This commit is contained in:
aibingbing
2024-09-14 17:12:56 +08:00
parent 30f72f6b5b
commit d3d8a0e595
14 changed files with 379 additions and 63 deletions

View File

@@ -132,7 +132,7 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
super.onLoginStatusUpdate(isLogin)
if (!isLogin) {
CallerLogger.d(TAG, "onLoginStatusUpdate isLogin=$isLogin")
CallerHmiManager.dismissFSMStatusDetailWindow()
CallerHmiManager.dismissFSMExceptionStatusWindow()
}
}

View File

@@ -126,22 +126,24 @@ internal class StatusAdapter(val ctx: Context, var data: List<Status>) : Recycle
when (status.state) {
FSMStateCode.UnKnown -> {
iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_fsm_not_connected)
CallerHmiManager.dismissFSMStatusDetailWindow()
CallerHmiManager.dismissFSMExceptionStatusWindow()
}
FSMStateCode.NotExist -> {
iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_fsm_not_exist)
CallerHmiManager.dismissFSMStatusDetailWindow()
CallerHmiManager.dismissFSMExceptionStatusWindow()
}
FSMStateCode.ExistNormal -> {
iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_fsm_normal)
CallerHmiManager.dismissFSMStatusDetailWindow()
CallerHmiManager.dismissFSMExceptionStatusWindow()
}
FSMStateCode.ExistError -> {
iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_fsm_error)
CallerHmiManager.showFSMStatusDetailWindow("FSM异常", "#FF3B3B", status.desc)
CallerHmiManager.showFSMExceptionStatusWindow(ArrayList<String>().also {
it += status.desc
})
}
}
}