diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddfbb..76259268ab 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file 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 31ae28c194..fdac4eaf08 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 @@ -7,6 +7,7 @@ import android.app.Service import android.content.Context import android.graphics.PixelFormat import android.graphics.Rect +import android.util.Log import android.view.Gravity import android.view.LayoutInflater import android.view.View @@ -117,6 +118,18 @@ internal class WarningFloatWindowHelper( } + /** + * 重置倒计时 + */ + fun resetDownTime() { + // 设置倒计时指定秒数后自动关闭Window + if (config.countDownTime > 0) { + Log.d(TAG, "重置弹窗时常") + frameLayout?.removeCallbacks(closeWarningTask) + frameLayout?.postDelayed(closeWarningTask, config.countDownTime) + } + } + /** * 入场动画 */ diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowManager.kt b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowManager.kt index 83d78a2a3f..a8335e2a5f 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowManager.kt +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloatWindowManager.kt @@ -1,6 +1,7 @@ package com.mogo.module.hmi.notification import android.content.Context +import android.util.Log import java.util.concurrent.ConcurrentHashMap /** @@ -8,7 +9,7 @@ import java.util.concurrent.ConcurrentHashMap * @date 2021/8/5 5:17 下午 */ internal object WarningFloatWindowManager { - private val TAG: String = "WarningFloatWindowManager" + private const val TAG = "WarningFloat" private const val DEFAULT_TAG = "default" private val windowMap = ConcurrentHashMap() @@ -22,8 +23,10 @@ internal object WarningFloatWindowManager { val helper = WarningFloatWindowHelper(context, config) if (helper.createWindow()) windowMap[config.floatTag!!] = helper } else { + Log.w(TAG, "存在相同的tag,延长弹窗时间") // 存在相同的tag,直接创建失败 - config.callbacks?.createdResult(false, "存在相同的tag,直接创建失败", null) + config.callbacks?.createdResult(false, "存在相同的tag,延长弹窗时间", null) + windowMap[config.floatTag!!]?.resetDownTime() } }