diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt index d08eb0cbea..3caa82f8ad 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt @@ -257,7 +257,12 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis } }) } - reportTypeWindow?.showFloatWindow(xPosition,yPosition) + if(reportTypeWindow?.getWindowShowStatus() == true){ + reportTypeWindow?.hideFloatWindow() + reportTypeWindow = null + }else{ + reportTypeWindow?.showFloatWindow(xPosition,yPosition) + } }else{ //展示工单上报弹窗 val workOrderWindow = WorkOrderWindow(activity) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt index 6319683057..02be6b7c9c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt @@ -84,6 +84,8 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener { private var canOneReport: Boolean = false //是否可以一键上报 + private var isShowing: Boolean = false //弹窗是否是展示状态 + init { initFloatWindow() } @@ -236,6 +238,7 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener { showTypeSelectView() } } + setWindowShowStatus(true) } /** @@ -259,6 +262,7 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener { fun hideFloatWindow() { CallerDevaToolsListenerManager.removeListener(TAG) + setWindowShowStatus(false) if (mFloatLayout.parent != null){ mWindowManager!!.removeView(mFloatLayout) } @@ -272,6 +276,21 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener { fun closeWindow() } + /** + * 获取弹窗展示状态 + */ + fun getWindowShowStatus(): Boolean{ + return isShowing + } + + /** + * 设置弹窗展示状态 + */ + fun setWindowShowStatus(isShow: Boolean){ + isShowing = isShow + } + + /** * 故障上报成功 */