diff --git a/modules/mogo-module-hmi/src/main/AndroidManifest.xml b/modules/mogo-module-hmi/src/main/AndroidManifest.xml index 492a8f95d9..234bee657e 100644 --- a/modules/mogo-module-hmi/src/main/AndroidManifest.xml +++ b/modules/mogo-module-hmi/src/main/AndroidManifest.xml @@ -6,7 +6,7 @@ - + diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/WaringConst.java b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/WaringConst.java index c8e9158853..03308b9d9c 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/WaringConst.java +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/WaringConst.java @@ -7,6 +7,7 @@ package com.mogo.module.hmi; public class WaringConst { public static String MODULE_NAME = "MODULE_LEFT_PANEL"; + public static String BROADCAST_V2X_IS_SHOW_EXTRA_KEY = "v2xIsShow"; public static String BROADCAST_V2X_TYPE_EXTRA_KEY = "v2xType"; public static String BROADCAST_V2X_ALERT_CONTENT_EXTRA_KEY = "alertContent"; public static String BROADCAST_V2X_TTS_CONTENT_EXTRA_KEY = "ttsContent"; diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/receiver/WarningBroadcastReceiver.kt b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/receiver/WarningBroadcastReceiver.kt index d96435299d..49c62b8796 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/receiver/WarningBroadcastReceiver.kt +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/receiver/WarningBroadcastReceiver.kt @@ -9,7 +9,6 @@ import com.mogo.service.IMogoServiceApis import com.mogo.service.MogoServicePaths import com.mogo.service.warning.IMoGoWaringProvider import com.mogo.utils.logger.Logger -import kotlin.random.Random /** * V2X 预警广播接收。用于跨应用,跨进程,内部也可以通过这种方式弹出预警提示框 @@ -31,29 +30,49 @@ class WarningBroadcastReceiver : BroadcastReceiver() { .navigation(context) as IMogoServiceApis mIMoGoWaringProvider = mMogoServiceApis!!.waringProviderApi mContext = context + val v2xIsShow = + intent.getBooleanExtra(WaringConst.BROADCAST_V2X_IS_SHOW_EXTRA_KEY, false) val v2xType = intent.getIntExtra(WaringConst.BROADCAST_V2X_TYPE_EXTRA_KEY, 0) val alertContent = intent.getStringExtra(WaringConst.BROADCAST_V2X_ALERT_CONTENT_EXTRA_KEY) val ttsContent = intent.getStringExtra(WaringConst.BROADCAST_V2X_TTS_CONTENT_EXTRA_KEY) - Logger.d(TAG, "v2xType:$v2xType alertContent:$alertContent ttsContent:$ttsContent") - // 分发场景 - dispatchWaring(v2xType, alertContent, ttsContent, Random.nextDouble().toString()) + val tag = + intent.getStringExtra(WaringConst.BROADCAST_V2X_TAG_EXTRA_KEY) + Logger.d( + TAG, + "v2xType:$v2xType alertContent:$alertContent ttsContent:$ttsContent tag:$tag" + ) + if (v2xIsShow) { + // 分发场景 + dispatchShowWaring(v2xType, alertContent, ttsContent, tag) + } else { + dispatchCloseWaring(tag) + } } catch (e: Exception) { e.printStackTrace() } } /** - * 分发处理场景 + * 分发处理关闭场景 + */ + private fun dispatchCloseWaring(tag: String?) { + mIMoGoWaringProvider!!.disableWarningV2X( + tag + ) + } + + /** + * 分发处理展示场景 * * @param v2xType V2X类型 * @param alertContent 提醒文本 * @param ttsContent tts语音播报消息 * @param tag tag绑定弹窗的标志 */ - private fun dispatchWaring( + private fun dispatchShowWaring( v2xType: Int, alertContent: String?, ttsContent: String?, @@ -65,6 +84,5 @@ class WarningBroadcastReceiver : BroadcastReceiver() { ttsContent, tag ) - } } \ No newline at end of file diff --git a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningFragment.kt b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningFragment.kt index 1a707c2845..e2029091f5 100644 --- a/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningFragment.kt +++ b/modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningFragment.kt @@ -88,8 +88,14 @@ class MoGoWarningFragment : MvpFragment