完成了弹窗 show disable 功能
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -88,8 +88,14 @@ class MoGoWarningFragment : MvpFragment<MoGoWarningContract.View?, WaringPresent
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭指定floatTag 的 VR下V2X预警弹窗
|
||||
* @param tag 弹窗标识
|
||||
*/
|
||||
override fun disableWarningV2X(tag: String) {
|
||||
|
||||
activity?.let {
|
||||
WarningFloat.dismiss(tag)
|
||||
}
|
||||
}
|
||||
|
||||
override fun showWarningTrafficLight(checkLightId: Int) {
|
||||
|
||||
@@ -71,13 +71,15 @@ public class MoGoWarningProvider implements IMoGoWaringProvider {
|
||||
mMoGoWarningFragment.disableLimitingVelocity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableWarningV2X(@NonNull String tag) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showWarningV2X(int v2xType, @Nullable String alertContent, @Nullable String ttsContent, @Nullable String tag) {
|
||||
mMoGoWarningFragment.showWarningV2X(v2xType, alertContent, ttsContent, tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disableWarningV2X(String tag) {
|
||||
mMoGoWarningFragment.disableWarningV2X(tag);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user