diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index ae69e9f648..761673ec27 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -297,6 +297,7 @@ public class BusPassengerModel { private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { @Override public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + if (null == location) return; mLocation = location; for (IBusPassengerControllerStatusCallback callback :mControllerStatusCallbackMap.values()){ callback.onCarLocationChanged(location); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 0b1eb2c647..e46780606e 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -382,6 +382,7 @@ public class BusOrderModel { private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { @Override public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + if (null == location) return; mLongitude = location.getLongitude(); mLatitude = location.getLatitude(); if (mControllerStatusCallback != null) { diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt index a3df02bf62..3a24d6ef8a 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/AbnormalFactorsLoopManager.kt @@ -86,7 +86,7 @@ object AbnormalFactorsLoopManager : IMogoStatusChangedListener { override fun onStatusChanged(descriptor: StatusDescriptor?, isTrue: Boolean) { //长链接监听、 - if (StatusDescriptor.CLOUD_SOCKET == descriptor && isTrue){ + if (StatusDescriptor.CLOUD_SOCKET == descriptor){ socketStatus = isTrue } } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java index 431c41b004..d13f1c932a 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java @@ -216,7 +216,7 @@ public class CoordinateCalculateRouteUtil { //转成MogoLatLng集合 List list = new ArrayList<>(); for (MogoLocation m : models) { - LatLng mogoLatLng = coordinateConverterWgsToGcj(mContext, m.getLongitude(),m.getLatitude()); + LatLng mogoLatLng = new LatLng(m.getLatitude(), m.getLongitude()); list.add(mogoLatLng); } return list; diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java index f95034ce34..58d0d8f426 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java @@ -289,6 +289,7 @@ public class SweeperOrderModel { private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { @Override public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + if (null == location) return; mLongitude = location.getLongitude(); mLatitude = location.getLatitude(); if (mControllerStatusCallback != null) { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 0fe9c85f35..3deddb2caf 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -452,7 +452,8 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback @Override public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { //位置变化时,通过围栏判断是否到达x点 - if (location != null && checkCurrentOCHOrder()) { + if (null == location) return; + if (checkCurrentOCHOrder()) { if (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.OnTheWayToEnd) { calculateTravelDistance(location); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 6184a1c946..c114157434 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -1056,7 +1056,8 @@ public class TaxiModel { @Override public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { //位置变化时,通过围栏判断是否到达x点 - if (location != null && checkCurrentOCHOrder()) { + if (null == location) return; + if (checkCurrentOCHOrder()) { if (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToStart) { judgeStartStation(location); } @@ -1266,7 +1267,6 @@ public class TaxiModel { } if (null != routeList && routeList.getWayPointsList().size() > 0) { updateOrderRoute(routeList.getWayPointsList()); -// setRouteLineMarker(routeList.getWayPointsList()); updateOrderRouteInfo(routeList.getWayPointsList()); } } diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml index 1335dc2a76..1eff5f1dc8 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_being_order.xml @@ -81,8 +81,8 @@ $targetClassification") +// CallerLogger.d("$M_OBU${TAG_MOGO_OBU}", "预警红边:预警方向->$targetClassification") return when (targetClassification) { MogoObuConstants.VEH_TARGET_POSITION.AHEAD_IN_LANE, MogoObuConstants.VEH_TARGET_POSITION.ONCOMING_IN_LANE -> WarningDirectionEnum.ALERT_WARNING_TOP //正前方 @@ -844,75 +839,68 @@ class MogoPrivateObuNewManager private constructor() { //这里需要根据真实数据确定 index 取值方式 val currentLight = lights[0] CallerLogger.d( - "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", + "$M_OBU${TAG_MOGO_OBU}", "currentLight = $currentLight ---currentLight.phase = ${currentLight.phaseId} ---appId = $appId" ) - // 闯红灯预警 + // 闯红灯预警,绿波通行和闯红灯是互斥的 when (appId) { 0x0 -> {//不可用 V2I_RLVW_VIOLATION_TYPE_UNAVAILABLE 无效 } 0x1 -> {//闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT TODO 需要约束一个红灯周期只显示一次 - // CallerHmiManager.disableWarningV2X(appId.toString()) -// CallerLogger.d("$M_OBU${MogoObuConst.TAG_MOGO_OBU}","changeTrafficLightStatus 闯红灯 --------> ") - // ttsContent = EventTypeEnumNew.getWarningTts(appId.toString()) - // alertContent = EventTypeEnumNew.getWarningContent(appId.toString()) - // CallerHmiManager.warningV2X( - // appId.toString(), alertContent, ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 - // appId.toString(), null, true, 5000L, MsgBoxType.OBU - // ) +// CallerHmiManager.disableWarningV2X(0x2.toString()) +// CallerLogger.d("$M_OBU${TAG_MOGO_OBU}","changeTrafficLightStatus 闯红灯 --------> ") +// ttsContent = EventTypeEnumTrafficLight.getWarningTts(appId.toString()) +// alertContent = EventTypeEnumTrafficLight.getWarningContent(appId.toString()) +// CallerHmiManager.warningV2X( +// appId.toString(), alertContent, ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 +// appId.toString(), null, true, 5000L) } - 0x2 -> {//绿波通行引导 V2I_RLVW_VIOLATION_TYPE_NO_VIOLATION TODO 需要约束一个绿灯周期只显示一次 - ttsContent = EventTypeEnumNew.getWarningTts(appId.toString()) - alertContent = EventTypeEnumNew.getWarningContent(appId.toString()) - CallerMsgBoxManager.saveMsgBox( - MsgBoxBean( - MsgBoxType.OBU, - V2XMsg( - appId.toString(), - alertContent, - ttsContent - ) - ) - ) - CallerHmiManager.warningV2X( - appId.toString(), alertContent, ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 - appId.toString(), null, true, 3000L - ) - - // 拼接建议速度 - // CallerLogger.d( - // "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", - // "绿波通行引导 --------> speed_min = ${currentLight.suggestMinSpeed} --speed_max = ${currentLight.suggestMaxSpeed}" - // ) - // val adviceSpeed = - // "${currentLight.suggestMinSpeed*3.6} - ${currentLight.suggestMaxSpeed*3.6}" - // val adviceSpeedTts = - // "${currentLight.suggestMinSpeed*3.6}到${currentLight.suggestMaxSpeed*3.6}" - // ttsContent = - // String.format( - // EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), - // adviceSpeedTts - // ) - // alertContent = - // String.format( - // EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), - // adviceSpeed - // ) - // val maxSpeed = currentLight.suggestMaxSpeed*3.6 - // if (maxSpeed > 0) { - // CallerHmiManager.warningV2X( - // EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, - // alertContent, - // ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 - // appId.toString(), - // null, - // true, - // 5000L, - // MsgBoxType.OBU - // ) - // } + 0x2 -> { //绿波通行引导 V2I_RLVW_VIOLATION_TYPE_NO_VIOLATION TODO 需要约束一个绿灯周期只显示一次 +// CallerHmiManager.disableWarningV2X(0x1.toString()) +// CallerLogger.d( +// "$M_OBU${TAG_MOGO_OBU}", +// "speed_min = ${currentLight.suggestMinSpeed} --speed_max = ${currentLight.suggestMaxSpeed}" +// ) +// val adviceSpeed = +// "${currentLight.suggestMinSpeed} - ${currentLight.suggestMaxSpeed}" +// val adviceSpeedTts = +// "${currentLight.suggestMinSpeed}到${currentLight.suggestMaxSpeed}" +// ttsContent = +// String.format( +// EventTypeEnumTrafficLight.getWarningTts(appId.toString()), +// adviceSpeedTts +// ) +// alertContent = +// String.format( +// EventTypeEnumTrafficLight.getWarningContent(appId.toString()), +// adviceSpeed +// ) +// +// val maxSpeed = currentLight.suggestMaxSpeed +// if (maxSpeed > 0) { +// CallerMsgBoxManager.saveMsgBox( +// MsgBoxBean( +// MsgBoxType.OBU, +// V2XMsg( +// EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, +// alertContent, +// ttsContent +// ) +// ) +// ) +// +// CallerHmiManager.warningV2X( +// EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, +// alertContent, +// ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 +// appId.toString(), +// null, +// true, +// 5000L +// ) +// } } } @@ -933,6 +921,7 @@ class MogoPrivateObuNewManager private constructor() { val red = currentLight.countDown.toInt() CallerHmiManager.changeCountdownRed(red) } + // 绿灯 4, 5, 6 -> { if (!isGreenLight) { @@ -943,52 +932,8 @@ class MogoPrivateObuNewManager private constructor() { CallerHmiManager.showWarningTrafficLight(3, 2) val green = currentLight.countDown.toInt() CallerHmiManager.changeCountdownGreen(green) - //防止数据出现问题的容错 - CallerHmiManager.changeCountdownRed(0) - CallerHmiManager.changeCountdownYellow(0) - // 拼接建议速度 - CallerLogger.d( - "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", - "speed_min = ${currentLight.suggestMinSpeed} --speed_max = ${currentLight.suggestMaxSpeed}" - ) - val adviceSpeed = - "${currentLight.suggestMinSpeed} - ${currentLight.suggestMaxSpeed}" - val adviceSpeedTts = - "${currentLight.suggestMinSpeed}到${currentLight.suggestMaxSpeed}" - ttsContent = - String.format( - EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), - adviceSpeedTts - ) - alertContent = - String.format( - EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), - adviceSpeed - ) - - val maxSpeed = currentLight.suggestMaxSpeed - if (maxSpeed > 0) { - CallerMsgBoxManager.saveMsgBox( - MsgBoxBean( - MsgBoxType.OBU, - V2XMsg( - EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, - alertContent, - ttsContent - ) - ) - ) - CallerHmiManager.warningV2X( - EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, - alertContent, - ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 - appId.toString(), - null, - true, - 3000L - ) - } } + // 黄灯 7, 8 -> { CallerHmiManager.disableWarningV2X(appId.toString()) 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/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumTrafficLight.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumTrafficLight.kt new file mode 100644 index 0000000000..4b3af24b5d --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumTrafficLight.kt @@ -0,0 +1,71 @@ +package com.mogo.eagle.core.data.enums + +import com.mogo.eagle.core.data.R + + +/** + * 交通信号灯 + */ +enum class EventTypeEnumTrafficLight( + val poiType: String, val poiTypeStr: String = "", + val poiTypeStrVr: String = "", + val poiTypeSrcVr: Int = R.drawable.v2x_icon_live_logo, + val content: String = "", val tts: String = "" +) { + + TYPE_USECASE_ID_IVP_RED( + 0x1.toString(), + "闯红灯预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_red, + content = "路口红灯,禁止通行", + tts = "路口红灯,禁止通行" + ), + TYPE_USECASE_ID_IVP_GREEN( + 0x2.toString(), + "绿波通行", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_green, + content = "建议车速 %s KM/H", + tts = "建议车速 %s KM/H" + ), + + TYPE_ERROR( + 0.toString(), + "未知/错误/异常", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "", + tts = "" + ); + + + companion object { + @JvmStatic + fun getWarningIcon(poiType: String?): Int { + return when (poiType) { + TYPE_USECASE_ID_IVP_RED.poiType -> TYPE_USECASE_ID_IVP_RED.poiTypeSrcVr + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.poiTypeSrcVr + + else -> TYPE_ERROR.poiTypeSrcVr + } + } + + @JvmStatic + fun getWarningContent(poiType: String?): String { + return when (poiType) { + TYPE_USECASE_ID_IVP_RED.poiType -> TYPE_USECASE_ID_IVP_RED.content + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.content + + else -> TYPE_ERROR.content + } + } + + @JvmStatic + fun getWarningTts(poiType: String?): String { + return when (poiType) { + TYPE_USECASE_ID_IVP_RED.poiType -> TYPE_USECASE_ID_IVP_RED.tts + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.tts + else -> TYPE_ERROR.tts + } + } + } + +} \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumWeaknessTraffic.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumWeaknessTraffic.kt index 177160dbb9..8ca4806dc1 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumWeaknessTraffic.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumWeaknessTraffic.kt @@ -20,10 +20,10 @@ enum class EventTypeEnumWeaknessTraffic( content = "注意机动车", tts = "注意机动车" ), - TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES( //TODO 图标需要换 + TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES( 2.toString(), "弱势交通参与者碰撞预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, + poiTypeSrcVr = R.drawable.icon_warning_v2x_motobike, content = "注意非机动车", tts = "注意非机动车" ), diff --git a/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_motobike.png b/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_motobike.png new file mode 100644 index 0000000000..1ae7992c08 Binary files /dev/null and b/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_motobike.png differ 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)); } }