From b290730fb8670f354278d38bef6326f40df78bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 13 Sep 2021 20:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=B9=E7=AA=97=E4=B8=8E?= =?UTF-8?q?=E7=BA=A2=E8=BE=B9=E4=B8=8D=E5=90=8C=E6=AD=A5=E6=B6=88=E5=A4=B1?= =?UTF-8?q?=E7=8E=B0=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/hmi/notification/WarningFloatWindowHelper.kt | 9 ++++++--- .../java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowHelper.kt b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowHelper.kt index bb7574d376..31ae28c194 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowHelper.kt +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowHelper.kt @@ -34,6 +34,10 @@ internal class WarningFloatWindowHelper( var frameLayout: ParentFrameLayout? = null private var enterAnimator: Animator? = null + private val closeWarningTask: Runnable = Runnable { + exitAnim() + } + fun createWindow(): Boolean { return if (context is Activity) { initParams() @@ -108,9 +112,7 @@ internal class WarningFloatWindowHelper( // 设置倒计时指定秒数后自动关闭Window if (config.countDownTime > 0) { - frameLayout?.postDelayed({ - exitAnim() - }, config.countDownTime) + frameLayout?.postDelayed(closeWarningTask, config.countDownTime) } } @@ -190,6 +192,7 @@ internal class WarningFloatWindowHelper( * 退出动画执行结束/没有退出动画,进行回调、移除等操作 */ fun remove(force: Boolean = false) = try { + frameLayout?.removeCallbacks(closeWarningTask) config.isAnim = false WarningFloatWindowManager.remove(config.floatTag) // removeView是异步删除,在Activity销毁的时候会导致窗口泄漏,所以使用removeViewImmediate直接删除view diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt index 9e188c178e..6b1ab523ac 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt @@ -23,6 +23,7 @@ class V2XWarningView @JvmOverloads constructor( private val ALL_CLOSE_TIMER = 10000L private val closeWarningTask: Runnable = Runnable { + Logger.d("V2XWarningView", "预警红边:倒计时结束") showWarning(WarningDirectionEnum.ALERT_WARNING_NON) }