From 5ad51cdf35459ae2847508e9dbfcb5ccaffd498a Mon Sep 17 00:00:00 2001 From: aibingbing Date: Mon, 9 Sep 2024 15:21:25 +0800 Subject: [PATCH] =?UTF-8?q?[6.6.0][FSM]=20refactor:=20=E5=9C=A8=E6=9C=AA?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81=20=E4=B8=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=20FSM=20=E5=BC=82=E5=B8=B8=E8=AF=A6=E6=83=85=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/call/hmi/CallerHmiManager.kt | 11 ++++++++++- .../call/order/CallerOrderListenerManager.kt | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) 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