diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt index 724dcc0cb3..befc31de96 100644 --- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt +++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuManager.kt @@ -1,12 +1,16 @@ package com.mogo.eagle.core.function.obu.mogo import android.content.Context +import android.telecom.Call import com.alibaba.android.arouter.launcher.ARouter import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.enums.WarningDirectionEnum import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager +import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Default +import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.TooClose import com.mogo.eagle.core.function.call.obu.CallerObuListenerManager import com.mogo.eagle.core.function.obu.mogo.utils.TrafficDataConvertUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -748,6 +752,7 @@ class MogoPrivateObuManager private constructor() { ) var alertContent: String var ttsContent: String + var changeVisualAngle = false when (appId.toString()) { // 变道预警,注意左后车辆/注意右后车辆 EventTypeEnum.TYPE_USECASE_ID_LCW.poiType -> { @@ -797,11 +802,13 @@ class MogoPrivateObuManager private constructor() { EventTypeEnum.TYPE_USECASE_ID_BSW.poiType -> { ttsContent = EventTypeEnum.getWarningTts(appId.toString()) alertContent = EventTypeEnum.getWarningContent(appId.toString()) + if ( direction == WarningDirectionEnum.ALERT_WARNING_LEFT || direction == WarningDirectionEnum.ALERT_WARNING_TOP_LEFT || direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_LEFT ) { //左后 + changeVisualAngle = true ttsContent = String.format(ttsContent, "左") alertContent = String.format(alertContent, "左") } else if ( @@ -809,6 +816,7 @@ class MogoPrivateObuManager private constructor() { direction == WarningDirectionEnum.ALERT_WARNING_TOP_RIGHT || direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_RIGHT ) { //右后 + changeVisualAngle = true ttsContent = String.format(ttsContent, "右") alertContent = String.format(alertContent, "右") } @@ -836,9 +844,20 @@ class MogoPrivateObuManager private constructor() { ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 (appId + direction.direction).toString(),//使用当前事件类型+方向记录tag,当发生变化的时候关闭当前弹出新的 object : IMoGoWarningStatusListener { + + override fun onShow() { + super.onShow() + if (changeVisualAngle) { + CallerVisualAngleManager.changeVisualAngle(TooClose) + } + } + override fun onDismiss() { // 关闭警告红边 CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON) + if (changeVisualAngle) { + CallerVisualAngleManager.changeVisualAngle(Default()) + } } }, true,