diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt index 598a3b7ba9..f4659f54ab 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt @@ -13,10 +13,7 @@ import com.mogo.eagle.core.data.enums.EventTypeEnum 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.data.trafficlight.TrafficLightResult -import com.mogo.eagle.core.data.trafficlight.currentRoadTrafficLight -import com.mogo.eagle.core.data.trafficlight.isGreen -import com.mogo.eagle.core.data.trafficlight.isRed +import com.mogo.eagle.core.data.trafficlight.* import com.mogo.eagle.core.data.v2x.VipMessage import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.api.trafficlight.IMoGoTrafficLightListener @@ -210,12 +207,22 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe // 请求变灯成功,直接提示 if (it.sn == MoGoAiCloudClientConfig.getInstance().sn && it.code == 0) { CallerLogger.d("$M_V2X$TAG", "变灯请求成功") - showWarning( - EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.content, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.tts, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType - ) + val light = this.result?.currentRoadTrafficLight() + if (light != null && light.isGreen()) { + showWarning( + EventTypeEnum.TYPE_VIP_IDENTIFICATION_EXTEND.poiType, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_EXTEND.content, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_EXTEND.tts, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_EXTEND.poiType + ) + } else { + showWarning( + EventTypeEnum.TYPE_VIP_IDENTIFICATION_PASS.poiType, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_PASS.content, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_PASS.tts, + EventTypeEnum.TYPE_VIP_IDENTIFICATION_PASS.poiType + ) + } return@turnLightToGreen } @@ -223,7 +230,7 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe if (this.result == null || this.result?.currentRoadTrafficLight() == null) { showWarning( EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.poiType, - EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.content + "稍后重试", + EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.content + ", 稍后重试", EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.tts, EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.poiType ) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnum.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnum.kt index d089573c31..66da21999d 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnum.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnum.kt @@ -364,8 +364,9 @@ enum class EventTypeEnum( tts = "" ), - TYPE_VIP_IDENTIFICATION("10022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行", "已为您变灯,请优先通行"), - TYPE_VIP_ERROR_IDENTIFICATION("10023", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,请稍后重试"), + TYPE_VIP_IDENTIFICATION_PASS("10022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您变为绿灯", "VIP车辆优先通行,已为您变为绿灯"), + TYPE_VIP_IDENTIFICATION_EXTEND("10023", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您延长绿灯", "VIP车辆优先通行,已为您延长绿灯"), + TYPE_VIP_ERROR_IDENTIFICATION("10024", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,稍后重试"), TYPE_OPTIMAL_ROUTE_RECOMMEND("2000", "", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线"); @@ -748,7 +749,8 @@ enum class EventTypeEnum( TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiTypeSrcVr TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeSrcVr TYPE_USECASE_ID_ROAD_GIVE_WAY.poiType -> TYPE_USECASE_ID_ROAD_GIVE_WAY.poiTypeSrcVr - TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.poiTypeSrcVr + TYPE_VIP_IDENTIFICATION_PASS.poiType -> TYPE_VIP_IDENTIFICATION_PASS.poiTypeSrcVr + TYPE_VIP_IDENTIFICATION_EXTEND.poiType -> TYPE_VIP_IDENTIFICATION_EXTEND.poiTypeSrcVr TYPE_ERROR.poiType -> TYPE_ERROR.poiTypeSrcVr TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeSrcVr GHOST_PROBE.poiType -> GHOST_PROBE.poiTypeSrcVr @@ -790,7 +792,8 @@ enum class EventTypeEnum( TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.content TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.content TYPE_USECASE_ID_ROAD_GIVE_WAY.poiType -> TYPE_USECASE_ID_ROAD_GIVE_WAY.content - TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.content + TYPE_VIP_IDENTIFICATION_PASS.poiType -> TYPE_VIP_IDENTIFICATION_PASS.content + TYPE_VIP_IDENTIFICATION_EXTEND.poiType -> TYPE_VIP_IDENTIFICATION_EXTEND.content FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.content AI_ROAD_WORK.poiType -> AI_ROAD_WORK.content TYPE_ERROR.poiType -> TYPE_ERROR.content @@ -833,7 +836,8 @@ enum class EventTypeEnum( TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.poiType -> TYPE_USECASE_ID_ROAD_HUMP_BRIDGE.tts TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.tts TYPE_USECASE_ID_ROAD_GIVE_WAY.poiType -> TYPE_USECASE_ID_ROAD_GIVE_WAY.tts - TYPE_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.tts + TYPE_VIP_IDENTIFICATION_PASS.poiType -> TYPE_VIP_IDENTIFICATION_PASS.tts + TYPE_VIP_IDENTIFICATION_EXTEND.poiType -> TYPE_VIP_IDENTIFICATION_EXTEND.tts FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts AI_ROAD_WORK.poiType -> AI_ROAD_WORK.tts TYPE_ERROR.poiType -> TYPE_ERROR.tts diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/IMogoStickyStatusChangedListener.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/IMogoStickyStatusChangedListener.java deleted file mode 100644 index 0a7c420a98..0000000000 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/IMogoStickyStatusChangedListener.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mogo.commons.module.status; - -/** - * @author congtaowang - * @since 2020-01-04 - *

- * 状态控制器监听 - */ -public interface IMogoStickyStatusChangedListener extends IMogoStatusChangedListener { - - /** - * 是否需要黏性状态: 先改变状态,后注册监听 - * - * @param descriptor 状态 - * @return 默认不需要 - */ - boolean requestStickyStatus( StatusDescriptor descriptor ); -} diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/MogoStatusManager.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/MogoStatusManager.java index e94f92eec3..7eb24a5b1e 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/MogoStatusManager.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/module/status/MogoStatusManager.java @@ -166,11 +166,9 @@ public class MogoStatusManager implements IMogoStatusManager { } mListeners.get(descriptor).add(listener); - if (listener instanceof IMogoStickyStatusChangedListener && ((IMogoStickyStatusChangedListener) listener).requestStickyStatus(descriptor)) { - Boolean val = mStatus.get(descriptor); - if (val != null) { - listener.onStatusChanged(descriptor, get_bool_val(descriptor)); - } + Boolean val = mStatus.get(descriptor); + if (val != null) { + listener.onStatusChanged(descriptor, get_bool_val(descriptor)); } }