[2.13.0_feat]消息盒子数据中心管理各类消息

This commit is contained in:
chenfufeng
2022-11-25 12:20:16 +08:00
parent 9ff67dc940
commit 3f3c7406e6
26 changed files with 545 additions and 88 deletions

View File

@@ -4,6 +4,7 @@ import android.content.Context
import android.util.Log
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.MogoServicePaths
@@ -22,6 +23,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.enums.EventTypeEnum
import com.mogo.eagle.core.data.enums.EventTypeHelper
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.V2XMsg
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.service.IMogoServiceApis
import com.zhidao.support.obu.MogoObuManager
import com.zhidao.support.obu.OnMogoObuListener
@@ -374,7 +379,7 @@ class MogoPrivateObuManager private constructor() {
// CallerHmiManager.showWarning(direction)
//显示弹框,语音提示
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -386,7 +391,8 @@ class MogoPrivateObuManager private constructor() {
}
},
true,
5000L
5000L,
MsgBoxType.OBU
)
// 更新数据
TrafficDataConvertUtils.cvxRtiThreatIndInfo2TrafficData(info)?.let {
@@ -400,7 +406,7 @@ class MogoPrivateObuManager private constructor() {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 移除顶部弹窗
CallerHmiManager.disableWarningV2X((appId + direction.direction).toString())
// CallerHmiManager.disableWarningV2X((appId + direction.direction).toString())
// 更新数据
TrafficDataConvertUtils.cvxRtiThreatIndInfo2TrafficData(info)?.let {
CallerObuListenerManager.removeTrackerWarningInfo(it)
@@ -493,7 +499,7 @@ class MogoPrivateObuManager private constructor() {
// if (level == 2 || level == 3) { //不考虑level
//显示警告红边
CallerHmiManager.showWarning(direction)
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
v2xType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -505,7 +511,8 @@ class MogoPrivateObuManager private constructor() {
}
},
true,
5000L
5000L,
MsgBoxType.OBU
)
// }
// 更新数据
@@ -527,7 +534,7 @@ class MogoPrivateObuManager private constructor() {
CallerMapUIServiceManager.getMarkerService()
?.updateITrafficThreatLevelInfo(it)
}
CallerHmiManager.disableWarningV2X(ObuConstants.USE_CASE_ID.VRUCW.toString())
// CallerHmiManager.disableWarningV2X(ObuConstants.USE_CASE_ID.VRUCW.toString())
}
}
@@ -664,7 +671,7 @@ class MogoPrivateObuManager private constructor() {
ObuConstants.STATUS.DELETE -> {
// 移除顶部弹窗
CallerHmiManager.disableWarningTrafficLight()
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
}
}
}
@@ -695,14 +702,15 @@ class MogoPrivateObuManager private constructor() {
0x0 -> {//不可用 V2I_RLVW_VIOLATION_TYPE_UNAVAILABLE
}
0x1 -> {//无违规 V2I_RLVW_VIOLATION_TYPE_NO_VIOLATION
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
}
0x2 -> {//闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT
ttsContent = EventTypeEnum.getWarningTts(appId.toString())
alertContent = EventTypeEnum.getWarningContent(appId.toString())
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId.toString(), alertContent, ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
appId.toString(), null, true, 5000L
appId.toString(), null, true, 5000L,
MsgBoxType.OBU
)
}
0x3 -> {//闯黄灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_YELLOW_LIGHT
@@ -717,7 +725,7 @@ class MogoPrivateObuManager private constructor() {
// 红灯
0x1 -> {
if (!isRedLight) {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
isRedLight = true
}
isGreenLight = false
@@ -732,7 +740,7 @@ class MogoPrivateObuManager private constructor() {
// 绿灯
0x2 -> {
if (!isGreenLight) {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
isGreenLight = true
}
isRedLight = false
@@ -767,20 +775,21 @@ class MogoPrivateObuManager private constructor() {
val maxSpeed = currentLight.glosa_suggested_speed_max.toInt()
if (maxSpeed > 0) {
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
appId.toString(),
null,
true,
5000L
5000L,
MsgBoxType.OBU
)
}
}
// 黄灯
0x3 -> {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
CallerHmiManager.showWarningTrafficLight(2, 2)
val yellow = currentLight.count_down.toInt()
CallerHmiManager.changeCountdownYellow(yellow)
@@ -890,8 +899,9 @@ class MogoPrivateObuManager private constructor() {
"appId2 = $appId --- level = $level ---ttsContent = $ttsContent --- alertContent = $alertContent --- direction = $direction"
)
if (level == 2 || level == 3) {
// TODO:(只是不显示顶部弹窗,其它逻辑保留)
//显示弹框,语音提示
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId.toString(),
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -914,7 +924,8 @@ class MogoPrivateObuManager private constructor() {
}
},
true,
5000L
5000L,
MsgBoxType.OBU
)
//显示警告红边
CallerHmiManager.showWarning(direction)
@@ -930,7 +941,7 @@ class MogoPrivateObuManager private constructor() {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 移除顶部弹窗
CallerHmiManager.disableWarningV2X((appId + direction.direction).toString())
// CallerHmiManager.disableWarningV2X((appId + direction.direction).toString())
//更新周边车辆进行预警颜色变换,车辆实时移动和变色
TrafficDataConvertUtils.cvxV2vThreatIndInfo2TrafficData(info)?.let {
CallerObuListenerManager.removeTrackerWarningInfo(it)

View File

@@ -19,6 +19,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.enums.V2iEventTypeEnum
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.data.msgbox.MsgBoxType
import com.mogo.eagle.core.data.msgbox.V2XMsg
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
import com.mogo.support.obu.MogoObuManager
import com.mogo.support.obu.OnMogoObuListener
import com.mogo.support.obu.constants.MogoObuComType
@@ -389,7 +393,7 @@ class MogoPrivateObuNewManager private constructor() {
//显示警告红边
// CallerHmiManager.showWarning(direction)
//显示弹框,语音提示,数据在消息盒子里面展示,此处不在处理弹框
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -401,7 +405,8 @@ class MogoPrivateObuNewManager private constructor() {
}
},
true,
3000L
3000L,
MsgBoxType.OBU
)
// 更新数据
TrafficDataConvertUtilsNew.cvxRtiThreatIndInfo2TrafficData(data)?.let {
@@ -466,7 +471,7 @@ class MogoPrivateObuNewManager private constructor() {
// if (level == 2 || level == 3) { //不考虑level
//显示警告红边
CallerHmiManager.showWarning(direction)
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
v2xType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -478,7 +483,8 @@ class MogoPrivateObuNewManager private constructor() {
}
},
true,
3000L
3000L,
MsgBoxType.OBU
)
// }
// 更新数据
@@ -663,7 +669,7 @@ class MogoPrivateObuNewManager private constructor() {
)
if (level == 2 || level == 3) {
//显示弹框,语音提示
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
@@ -685,7 +691,8 @@ class MogoPrivateObuNewManager private constructor() {
}
},
true,
3000L
3000L,
MsgBoxType.OBU
)
//显示警告红边
CallerHmiManager.showWarning(direction)
@@ -700,7 +707,7 @@ class MogoPrivateObuNewManager private constructor() {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 移除顶部弹窗
CallerHmiManager.disableWarningV2X((appId + direction.direction))
// CallerHmiManager.disableWarningV2X((appId + direction.direction))
//更新周边车辆进行预警颜色变换,车辆实时移动和变色
TrafficDataConvertUtilsNew.cvxV2vThreatIndInfo2TrafficData(info)?.let {
it.threatLevel = 0x01
@@ -734,7 +741,7 @@ class MogoPrivateObuNewManager private constructor() {
MogoObuConstants.STATUS.DELETE -> {
// 移除顶部弹窗
CallerHmiManager.disableWarningTrafficLight()
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
}
}
}
@@ -767,14 +774,14 @@ class MogoPrivateObuNewManager private constructor() {
0x0 -> {//不可用 V2I_RLVW_VIOLATION_TYPE_UNAVAILABLE
}
0x1 -> {//无违规 V2I_RLVW_VIOLATION_TYPE_NO_VIOLATION
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
}
0x2 -> {//闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT
ttsContent = EventTypeEnumNew.getWarningTts(appId.toString())
alertContent = EventTypeEnumNew.getWarningContent(appId.toString())
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
appId.toString(), alertContent, ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
appId.toString(), null, true, 3000L
appId.toString(), null, true, 3000L, MsgBoxType.OBU
)
}
0x3 -> {//闯黄灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_YELLOW_LIGHT
@@ -789,7 +796,7 @@ class MogoPrivateObuNewManager private constructor() {
// 红灯
0x1 -> {
if (!isRedLight) {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
isRedLight = true
}
isGreenLight = false
@@ -803,7 +810,7 @@ class MogoPrivateObuNewManager private constructor() {
// 绿灯
0x2 -> {
if (!isGreenLight) {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
isGreenLight = true
}
isRedLight = false
@@ -835,20 +842,21 @@ class MogoPrivateObuNewManager private constructor() {
val maxSpeed = currentLight.suggestMaxSpeed
if (maxSpeed > 0) {
CallerHmiManager.showWarningV2X(
CallerHmiManager.warningV2X(
EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
appId.toString(),
null,
true,
3000L
3000L,
MsgBoxType.OBU
)
}
}
// 黄灯
0x3 -> {
CallerHmiManager.disableWarningV2X(appId.toString())
// CallerHmiManager.disableWarningV2X(appId.toString())
CallerHmiManager.showWarningTrafficLight(2, 2)
val yellow = currentLight.countDown.toInt()
CallerHmiManager.changeCountdownYellow(yellow)