[6.6.0][FSM] refactor: 在未登录状态 不展示 FSM 异常详情;

This commit is contained in:
aibingbing
2024-09-09 15:21:25 +08:00
parent 2f8df79621
commit 5ad51cdf35
2 changed files with 28 additions and 1 deletions

View File

@@ -16,6 +16,8 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.api.hmi.xiaozhi.event.Event
import com.mogo.eagle.core.function.api.hmi.xiaozhi.listener.OnXiaoZhiStateChangeListener
import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State
import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
/**
* @author xiaoyuzhou
@@ -25,6 +27,9 @@ import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State
*
*/
object CallerHmiManager {
const val TAG = "CallerHmiManager"
private val hmiProviderApi
get() = ARouter.getInstance().build(MogoServicePaths.PATH_FRAGMENT_HMI)
.navigation() as? IMoGoHmiProvider
@@ -234,7 +239,11 @@ object CallerHmiManager {
* 展示 FSM 状态详情弹框
*/
fun showFSMStatusDetailWindow(title: String, titleColor:String, content: String) {
hmiProviderApi?.showFSMStatusDetailWindow(title, titleColor, content)
if (!CallerOrderListenerManager.isLoginStatus()) {
CallerLogger.i(TAG, "showFSMStatusDetailWindow isLogin=false 跳过")
return
}
hmiProviderApi?.showFSMStatusDetailWindow(title, titleColor, content)
}
/**

View File

@@ -2,6 +2,8 @@ package com.mogo.eagle.core.function.call.order
import com.mogo.eagle.core.function.api.order.IOrderListener
import com.mogo.eagle.core.function.call.base.CallerBase
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import java.util.concurrent.atomic.AtomicBoolean
/**
* @author XuXinChao
@@ -10,6 +12,13 @@ import com.mogo.eagle.core.function.call.base.CallerBase
*/
object CallerOrderListenerManager: CallerBase<IOrderListener>() {
const val TAG = "CallerOrderListenerManager"
/**
* 是否登录状态
*/
private val isLoginStatus by lazy { AtomicBoolean(false) }
fun invokeOrderStatus(inOrder: Boolean){
M_LISTENERS.forEach{
val listener = it.value
@@ -51,10 +60,19 @@ object CallerOrderListenerManager: CallerBase<IOrderListener>() {
* @param isLogin 是否已登录
*/
fun invokeLoginStatusUpdate(isLogin: Boolean) {
CallerLogger.i(TAG, "invokeLoginStatusUpdate isLogin=$isLogin")
isLoginStatus.set(isLogin)
M_LISTENERS.forEach{
val listener = it.value
listener.onLoginStatusUpdate(isLogin)
}
}
/**
* 查询是否是登录状态
*/
fun isLoginStatus(): Boolean {
return isLoginStatus.get()
}
}