diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TakeOverView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TakeOverView.kt index 90ea0b57ab..bfc61ae6ef 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TakeOverView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TakeOverView.kt @@ -7,10 +7,15 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.enums.EventTypeEnumNew +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.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.zhjt.mogo.adas.data.bean.MogoReport @@ -54,18 +59,63 @@ class TakeOverView @JvmOverloads constructor( MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_PLANNING, MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_LOCATION, MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_CHASSIS, - MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_DISTANCE -> { - CallerHmiManager.warningV2X(EventTypeEnumNew.TAKE_OVER_EVENT.poiType, EventTypeEnumNew.TAKE_OVER_EVENT.content, EventTypeEnumNew.TAKE_OVER_EVENT.tts, object : IMoGoWarningStatusListener { - override fun onShow() { - takeOver = true - visibility = View.VISIBLE - } + MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_DISTANCE ->{ + CallerHmiManager.warningV2X( + EventTypeEnumNew.TAKE_OVER_EVENT.poiType, + EventTypeEnumNew.TAKE_OVER_EVENT.content, + EventTypeEnumNew.TAKE_OVER_EVENT.tts, + object : IMoGoWarningStatusListener { + override fun onShow() { + takeOver = true + visibility = View.VISIBLE + //加入消息盒子 + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, V2XMsg( + EventTypeEnumNew.TAKE_OVER_EVENT.poiType, + EventTypeEnumNew.TAKE_OVER_EVENT.content, + EventTypeEnumNew.TAKE_OVER_EVENT.tts + ) + ) + ) + } - override fun onDismiss() { - takeOver = false - visibility = View.GONE - } - }, isFromObu = false) + override fun onDismiss() { + takeOver = false + visibility = View.GONE + } + },isFromObu = false + ) + } + //弱网 + MogoReport.Code.Error.EMAP.EPARALLEL_AICLOUD_NETWORK_WEAK, + MogoReport.Code.Error.EMAP.EPARALLEL_AICLOUD_CONNECTION_ERROR -> { + CallerHmiManager.warningV2X( + EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType, + EventTypeEnumNew.NETWORK_WEAK_EVENT.content, + EventTypeEnumNew.NETWORK_WEAK_EVENT.tts, + object : IMoGoWarningStatusListener { + override fun onShow() { + takeOver = true + visibility = View.VISIBLE + //加入消息盒子 + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, V2XMsg( + EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType, + EventTypeEnumNew.NETWORK_WEAK_EVENT.content, + EventTypeEnumNew.NETWORK_WEAK_EVENT.tts + ) + ) + ) + } + + override fun onDismiss() { + takeOver = false + visibility = View.GONE + } + },isFromObu = false + ) } } } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index d7ddc07c0d..d3282ce9ab 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -112,6 +112,10 @@ enum class EventTypeEnumNew( "注意周围、立即接管", "自动驾驶退出请立即接管" ), + //弱网接管 + NETWORK_WEAK_EVENT("20001", "接管", "注意周围、立即接管", R.drawable.icon_warning_take_over, + "注意周围、立即接管", "平行驾驶遇弱网已退出,注意随时接管"), + // 前方静止or慢速车辆报警 ALERT_FRONT_CAR("99999","前方预警"), @@ -843,6 +847,10 @@ enum class EventTypeEnumNew( TAKE_OVER_EVENT.poiType ->{ TAKE_OVER_EVENT.poiTypeStr } + //弱网接管 + NETWORK_WEAK_EVENT.poiType ->{ + NETWORK_WEAK_EVENT.poiTypeStr + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType ->{ TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiTypeStr @@ -1142,6 +1150,10 @@ enum class EventTypeEnumNew( TAKE_OVER_EVENT.poiType -> { R.drawable.icon_warning_take_over } + //弱网接管 + NETWORK_WEAK_EVENT.poiType -> { + R.drawable.icon_warning_take_over + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType -> { R.drawable.icon_warning_v2x_motorcycle_collision diff --git a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/MogoReport.java b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/MogoReport.java index c0dcddf7ad..d469c8f52f 100644 --- a/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/MogoReport.java +++ b/libraries/mogo-adas-data/src/main/java/com/zhjt/mogo/adas/data/bean/MogoReport.java @@ -155,6 +155,8 @@ public class MogoReport { String EXIT_AUTOPILOT_FOR_LOCATION = "EMAP_EXIT_AUTOPILOT_FOR_LOCATION";//因location掉帧强退自动驾驶 String EXIT_AUTOPILOT_FOR_CHASSIS = "EMAP_EXIT_AUTOPILOT_FOR_CHASSIS";//因底盘消息掉帧强退自动驾驶 String EXIT_AUTOPILOT_FOR_DISTANCE = "EMAP_EXIT_AUTOPILOT_FOR_DISTANCE";//因planning起点距离当前过远强退自动驾驶 + String EPARALLEL_AICLOUD_CONNECTION_ERROR = "EPARALLEL_AICLOUD_CONNECTION_ERROR";//断网(此时不符合平行驾驶条件) 平行驾驶退出到自驾,同时减速停车 + String EPARALLEL_AICLOUD_NETWORK_WEAK = "EPARALLEL_AICLOUD_NETWORK_WEAK";//弱网,平行驾驶退出到自驾,同时减速停车 String EXIT_AUTOPILOT_FOR_BRAKE = "EMAP_EXIT_AUTOPILOT_FOR_BRAKE";//制动踏板干预而强退自动驾驶 String EXIT_AUTOPILOT_FOR_ACCEL = "EMAP_EXIT_AUTOPILOT_FOR_ACCEL";//加速踏板干预而强退自动驾驶 String EXIT_AUTOPILOT_FOR_STEER = "EMAP_EXIT_AUTOPILOT_FOR_STEER";//方向盘干预而强退自动驾驶