diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloat.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloat.kt index 3978fd41dc..b614320418 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloat.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloat.kt @@ -1,7 +1,6 @@ package com.mogo.eagle.core.function.hmi.notification import android.content.Context -import android.content.ContextWrapper import android.view.LayoutInflater import android.view.View import androidx.appcompat.view.ContextThemeWrapper @@ -165,6 +164,10 @@ class WarningFloat { this.config.isOverride = isOverride } + fun isEnqueue(enqueue: Boolean) = apply { + this.config.isEnqueue = enqueue + } + /** * 创建浮窗,包括Activity浮窗和系统浮窗,如若系统浮窗无权限,先进行权限申请 */ @@ -181,10 +184,14 @@ class WarningFloat { } else if (config.layoutId != null) { content = LayoutInflater.from(activity).inflate(config.layoutId!!, null) } - content?.let { - config.layoutId = null - config.layoutView = it - Reminder.enqueue(getLifecycleOwner(activity), WarningFloatReminder(activity, config, it)) + if (config.isEnqueue) { + content?.let { + config.layoutId = null + config.layoutView = it + Reminder.enqueue(getLifecycleOwner(activity), WarningFloatReminder(activity, config, it)) + } + } else { + WarningFloatWindowManager.create(activity, config) } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningNotificationConfig.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningNotificationConfig.kt index 9f8b7b2848..722c037e3d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningNotificationConfig.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningNotificationConfig.kt @@ -66,5 +66,6 @@ data class WarningNotificationConfig( // 窗口高度 var height: Int = WindowManager.LayoutParams.WRAP_CONTENT ) { + var isEnqueue: Boolean = false var isOverride: Boolean = true } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 65e4afbac9..d236813e85 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -545,7 +545,6 @@ class MoGoHmiFragment : MvpFragment .setSidePattern(SidePattern.RIGHT) .setGravity(Gravity.RIGHT, offsetY = 70) .setImmersionStatusBar(true) - .isOverride(false) .setAnimator(object : DefaultAnimator() { override fun enterAnim( view: View, @@ -607,6 +606,7 @@ class MoGoHmiFragment : MvpFragment .setCountDownTime(expireTime) .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) .setImmersionStatusBar(true) + .isEnqueue(true) .addWarningStatusListener(listenerIMoGo) .addWarningStatusListener(object : IMoGoWarningStatusListener { override fun onShow() {