diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index a18924e551..1fb2865851 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -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) } /** diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt index b5d58b7d6d..6f4d2da0b1 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt @@ -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() { + 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() { * @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() + } + } \ No newline at end of file