From 30a9c2507c317029597560d7dd5dc6e7a8d1a3e9 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Tue, 15 Nov 2022 17:36:53 +0800 Subject: [PATCH] =?UTF-8?q?obu=20=E5=AE=8C=E5=96=84=20=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E4=B8=A4=E7=A7=8D=20obu=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../obu/mogo/MogoPrivateObuNewManager.kt | 50 +- modules/mogo-module-common/build.gradle | 1 + .../mogo/module/common/enums/EventTypeEnum.kt | 463 +++++----- .../module/common/enums/EventTypeEnumNew.kt | 867 ++++++++++++++++++ 4 files changed, 1113 insertions(+), 268 deletions(-) create mode 100644 modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnumNew.kt diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt index 18e8ffda81..21f3267877 100644 --- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt @@ -17,7 +17,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.module.common.drawer.TrafficMarkerDrawer -import com.mogo.module.common.enums.EventTypeEnum +import com.mogo.module.common.enums.EventTypeEnumNew import com.mogo.module.common.enums.V2iEventTypeEnum import com.mogo.support.obu.MogoObuManager import com.mogo.support.obu.OnMogoObuListener @@ -375,12 +375,12 @@ class MogoPrivateObuNewManager private constructor() { ) var v2xType = "" if (data.participant.ptcType == 1) { //摩托车 - v2xType = EventTypeEnum.TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType + v2xType = EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType } else if (data.participant.ptcType == 2) { //行人 - v2xType = EventTypeEnum.TYPE_USECASE_ID_VRUCW_PERSON.poiType + v2xType = EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_PERSON.poiType } - val ttsContent = EventTypeEnum.getWarningTts(v2xType) - val alertContent = EventTypeEnum.getWarningContent(v2xType) + val ttsContent = EventTypeEnumNew.getWarningTts(v2xType) + val alertContent = EventTypeEnumNew.getWarningContent(v2xType) var level = -1 val direction = getMessageDirection(data.participant.targetPosition) if (data.m_warning_msg != null && data.m_warning_msg.warningData != null && data.m_warning_msg.warningData.size > 0) { @@ -490,7 +490,7 @@ class MogoPrivateObuNewManager private constructor() { level: Int, info: MogoObuRvWarningData ) { - // 这里排除需要特殊定制的语音及文案外,其余的都可以使用 EventTypeEnum 提供的 + // 这里排除需要特殊定制的语音及文案外,其余的都可以使用 EventTypeEnumNew 提供的 CallerLogger.d( "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", "handleSdkObu appId = $appId --- handleDirection = $direction ---level = $level ---status = $status" @@ -504,9 +504,9 @@ class MogoPrivateObuNewManager private constructor() { var changeVisualAngle = false when (appId) { // 变道预警,注意左后车辆/注意右后车辆 - EventTypeEnum.TYPE_USECASE_ID_LCW.poiType -> { - alertContent = EventTypeEnum.getWarningContent(appId) - ttsContent = EventTypeEnum.getWarningTts(appId) + EventTypeEnumNew.TYPE_USECASE_ID_LCW.poiType -> { + alertContent = EventTypeEnumNew.getWarningContent(appId) + ttsContent = EventTypeEnumNew.getWarningTts(appId) if ( direction == WarningDirectionEnum.ALERT_WARNING_LEFT || direction == WarningDirectionEnum.ALERT_WARNING_TOP_LEFT || @@ -525,9 +525,9 @@ class MogoPrivateObuNewManager private constructor() { } //车辆失控预警 - EventTypeEnum.TYPE_USECASE_ID_CLW.poiType -> { - alertContent = EventTypeEnum.getWarningContent(appId) - ttsContent = EventTypeEnum.getWarningTts(appId) + EventTypeEnumNew.TYPE_USECASE_ID_CLW.poiType -> { + alertContent = EventTypeEnumNew.getWarningContent(appId) + ttsContent = EventTypeEnumNew.getWarningTts(appId) alertContent = String.format(alertContent, direction.desc) ttsContent = String.format(ttsContent, direction.desc) } @@ -539,17 +539,17 @@ class MogoPrivateObuNewManager private constructor() { // } //异常车辆提醒 - EventTypeEnum.TYPE_USECASE_ID_AVW.poiType -> { - alertContent = EventTypeEnum.getWarningContent(appId) - ttsContent = EventTypeEnum.getWarningTts(appId) + EventTypeEnumNew.TYPE_USECASE_ID_AVW.poiType -> { + alertContent = EventTypeEnumNew.getWarningContent(appId) + ttsContent = EventTypeEnumNew.getWarningTts(appId) alertContent = String.format(alertContent, direction.desc) ttsContent = String.format(ttsContent, direction.desc) } //盲区预警 - EventTypeEnum.TYPE_USECASE_ID_BSW.poiType -> { - ttsContent = EventTypeEnum.getWarningTts(appId) - alertContent = EventTypeEnum.getWarningContent(appId) + EventTypeEnumNew.TYPE_USECASE_ID_BSW.poiType -> { + ttsContent = EventTypeEnumNew.getWarningTts(appId) + alertContent = EventTypeEnumNew.getWarningContent(appId) if ( direction == WarningDirectionEnum.ALERT_WARNING_LEFT || direction == WarningDirectionEnum.ALERT_WARNING_TOP_LEFT || @@ -571,8 +571,8 @@ class MogoPrivateObuNewManager private constructor() { // 这里处理固定的提示信息,包括了<紧急车辆提醒> else -> { - ttsContent = EventTypeEnum.getWarningTts(appId) - alertContent = EventTypeEnum.getWarningContent(appId) + ttsContent = EventTypeEnumNew.getWarningTts(appId) + alertContent = EventTypeEnumNew.getWarningContent(appId) } } @@ -697,8 +697,8 @@ class MogoPrivateObuNewManager private constructor() { CallerHmiManager.disableWarningV2X(appId.toString()) } 0x2 -> {//闯红灯 V2I_RLVW_VIOLATION_TYPE_RUNNING_RED_LIGHT - ttsContent = EventTypeEnum.getWarningTts(appId.toString()) - alertContent = EventTypeEnum.getWarningContent(appId.toString()) + ttsContent = EventTypeEnumNew.getWarningTts(appId.toString()) + alertContent = EventTypeEnumNew.getWarningContent(appId.toString()) CallerHmiManager.showWarningV2X( appId.toString(), alertContent, ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 appId.toString(), null, true, 3000L @@ -751,19 +751,19 @@ class MogoPrivateObuNewManager private constructor() { "${currentLight.suggestMinSpeed}到${currentLight.suggestMaxSpeed}" ttsContent = String.format( - EventTypeEnum.getWarningTts(EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType), + EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), adviceSpeedTts ) alertContent = String.format( - EventTypeEnum.getWarningContent(EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType), + EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType), adviceSpeed ) val maxSpeed = currentLight.suggestMaxSpeed if (maxSpeed > 0) { CallerHmiManager.showWarningV2X( - EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType, + EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType, alertContent, ttsContent,// 只有第一次才tts,防止更新的时候不断的提醒 appId.toString(), diff --git a/modules/mogo-module-common/build.gradle b/modules/mogo-module-common/build.gradle index a590a395cd..f907172cda 100644 --- a/modules/mogo-module-common/build.gradle +++ b/modules/mogo-module-common/build.gradle @@ -64,6 +64,7 @@ dependencies { implementation rootProject.ext.dependencies.coroutinesandroid implementation rootProject.ext.dependencies.coroutinescore + implementation rootProject.ext.dependencies.mogoobuold implementation rootProject.ext.dependencies.mogoobu annotationProcessor 'com.elegant.spi:compiler:1.0.3' diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt index 5d3ce7d2c5..284cc0aac7 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt @@ -2,7 +2,8 @@ package com.mogo.module.common.enums import com.mogo.module.common.R import com.mogo.module.common.utils.CloudPoiManager -import com.mogo.support.obu.constants.MogoObuConstants +import com.zhidao.support.obu.constants.ObuConstants + /** * OBU、V2N事件类型枚举类 @@ -16,86 +17,86 @@ enum class EventTypeEnum( //交通检查 TRAFFIC_CHECK( - "10002", "交通检查", "前方交通检查", - R.drawable.v2x_icon_jiaotongjiancha_vr, "前方交通检查", "交通检查" + "10002", "交通检查", "前方交通检查", + R.drawable.v2x_icon_jiaotongjiancha_vr, "前方交通检查", "交通检查" ), //封路 ROAD_CLOSED( - "10003", "封路", "前方封路", R.drawable.v2x_icon_fenglu_vr, - "前方封路", "道路封路" + "10003", "封路", "前方封路", R.drawable.v2x_icon_fenglu_vr, + "前方封路", "道路封路" ), //施工 FOURS_ROAD_WORK( - "10006", "注意施工占道", "注意施工占道", R.drawable.icon_warning_v2x_road_construction, - "注意施工占道", "注意施工占道" + "10006", "道路施工", "道路施工", R.drawable.icon_warning_v2x_road_construction, + "道路施工", "道路施工" ), //施工-AI云下发 AI_ROAD_WORK( - "100061", "道路施工", "前方施工", R.drawable.icon_warning_v2x_road_construction, - "前方施工", "道路施工" + "100061", "道路施工", "道路施工", R.drawable.icon_warning_v2x_road_construction, + "道路施工", "道路施工" ), //拥堵 FOURS_BLOCK_UP( - "10007", "道路拥堵", "前方拥堵", R.drawable.icon_warning_v2x_congestion, - "前方道路拥堵", "道路拥堵" + "10007", "道路拥堵", "前方拥堵", R.drawable.icon_warning_v2x_congestion, + "前方道路拥堵", "道路拥堵" ), //积水 FOURS_PONDING( - "10008", "道路积水", "前方道路积水", R.drawable.v2x_icon_jishui_vr, - "前方道路积水", "道路积水" + "10008", "道路积水", "前方道路积水", R.drawable.v2x_icon_jishui_vr, + "前方道路积水", "道路积水" ), //浓雾 FOURS_FOG( - "10010", "出现浓雾", "浓雾预警", R.drawable.v2x_icon_nongwu_vr, - "前方出现浓雾", "出现浓雾" + "10010", "出现浓雾", "浓雾预警", R.drawable.v2x_icon_nongwu_vr, + "前方出现浓雾", "出现浓雾" ), //结冰 FOURS_ICE( - "10011", "路面结冰", "路面结冰", R.drawable.v2x_icon_jiebing_vr, - "前方路面结冰", "路面结冰" + "10011", "路面结冰", "路面结冰", R.drawable.v2x_icon_jiebing_vr, + "前方路面结冰", "路面结冰" ), //事故 FOURS_ACCIDENT( - "10013", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "10013", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //重大事故 FOURS_ACCIDENT_01( - "1001301", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "1001301", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //特大事故 FOURS_ACCIDENT_02( - "1001302", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "1001302", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //较大事故 FOURS_ACCIDENT_03( - "1001303", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "1001303", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //一般事故 FOURS_ACCIDENT_04( - "1001304", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "1001304", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //轻微事故 FOURS_ACCIDENT_05( - "1001305", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, - "前方交通事故", "交通事故" + "1001305", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" ), //实时路况 @@ -111,6 +112,12 @@ enum class EventTypeEnum( GHOST_PROBE("10024", "前方盲区行人预警", "前方盲区行人预警", R.drawable.icon_warning_v2x_pedestrian_crossing, "前方盲区行人通行,请注意", "前方盲区即将有行人通过,请减速慢行"), + //接管 TODO +// TAKE_OVER_EVENT( +// "20000", "注意周围、立即接管", "注意周围、立即接管", R.drawable.icon_warning_take_over, +// "注意周围、立即接管", "自动驾驶退出请立即接管" +// ), + // 前方静止or慢速车辆报警 ALERT_FRONT_CAR("99999"), @@ -133,261 +140,232 @@ enum class EventTypeEnum( ALERT_ILLEGAL_PARK("99992"), TYPE_USECASE_ID_EBW( - MogoObuConstants.V2X_WARNING_TYPE.EBW.toString(), - "紧急制动预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_emergency_brake, - content = "前车急刹车", - tts = "前车急刹车" + ObuConstants.USE_CASE_ID.EBW.toString(), + "紧急制动预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_emergency_brake, + content = "前车急刹车", + tts = "前车急刹车" ), TYPE_USECASE_ID_FCW( - MogoObuConstants.V2X_WARNING_TYPE.FCW.toString(), - "前向碰撞预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "前车碰撞预警", - tts = "小心前车" + ObuConstants.USE_CASE_ID.FCW.toString(), + "前向碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "前车碰撞预警", + tts = "小心前车" ), TYPE_USECASE_ID_ICW( - MogoObuConstants.V2X_WARNING_TYPE.ICW.toString(), - "交叉路口碰撞预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "交叉路口碰撞预警", - tts = "注意交叉路口车辆" - ), - TYPE_USECASE_ID_AVW( - MogoObuConstants.V2X_WARNING_TYPE.AVW.toString(), - "异常车辆提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, - content = "%s车异常", - tts = "小心%s异常车辆" - ), - TYPE_USECASE_ID_BSW( - MogoObuConstants.V2X_WARNING_TYPE.BSW.toString(), - "盲区预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_blind_area_collision, - content = "%s后盲区预警", - tts = "注意%s后车辆" - ), - TYPE_USECASE_ID_LCW( - MogoObuConstants.V2X_WARNING_TYPE.LCW.toString(), - "变道预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, - content = "%s向变道预警", - tts = "注意%s后车辆" - ),//注意左后车辆/注意右后车辆 - - TYPE_USECASE_ID_EVW( - MogoObuConstants.V2X_WARNING_TYPE.EVW.toString(), - "紧急车辆提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_special_vehicle_access, - content = "注意特种车辆通行", - tts = "请避让特种车辆" + ObuConstants.USE_CASE_ID.ICW.toString(), + "交叉路口碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "交叉路口碰撞预警", + tts = "注意交叉路口车辆" ), TYPE_USECASE_ID_CLW( - MogoObuConstants.V2X_WARNING_TYPE.CLW.toString(), - "车辆失控预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_vehicle_control, - content = "前%s失控预警", - tts = "小心%s失控车辆" + ObuConstants.USE_CASE_ID.CLW.toString(), + "车辆失控预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_vehicle_control, + content = "前%s失控预警", + tts = "小心%s失控车辆" ), TYPE_USECASE_ID_DNPW( - MogoObuConstants.V2X_WARNING_TYPE.DNPW.toString(), - "逆向超车预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, - content = "逆向超车预警", - tts = "注意对向来车" + ObuConstants.USE_CASE_ID.DNPW.toString(), + "逆向超车预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, + content = "逆向超车预警", + tts = "注意对向来车" ), - TYPE_USECASE_ID_ROAD_GIVE_WAY( - 0x2C11.toString(), - "减速慢行", - poiTypeSrcVr = R.drawable.icon_warning_v2x_give_way, - content = "注意路况复杂,减速慢行", - tts = "路况复杂,减速慢行" + TYPE_USECASE_ID_AVW( + ObuConstants.USE_CASE_ID.AVW.toString(), + "异常车辆提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "%s车异常", + tts = "小心%s异常车辆" ), - TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP( - 0x2C03.toString(), - "前方右转急弯", - poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_right_sharp, - content = "注意前方右转急弯", - tts = "前方路口右转急弯,减速慢行" + TYPE_USECASE_ID_BSW( + ObuConstants.USE_CASE_ID.BSW.toString(), + "盲区预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_blind_area_collision, + content = "%s后盲区预警", + tts = "注意%s后车辆" ), - TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP( - 0x2C02.toString(), - "前方左转急弯", - poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_left_sharp, - content = "注意前方左转急弯", - tts = "前方路口左转急弯,减速慢行", + TYPE_USECASE_ID_LCW( + ObuConstants.USE_CASE_ID.LCW.toString(), + "变道预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, + content = "%s向变道预警", + tts = "注意%s后车辆" + ),//注意左后车辆/注意右后车辆 + TYPE_USECASE_ID_EVW( + ObuConstants.USE_CASE_ID.EVW.toString(), + "紧急车辆提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_special_vehicle_access, + content = "注意特种车辆通行", + tts = "请避让特种车辆" ), - - //TODO TYPE_USECASE_ID_VRUCW_PERSON( - 0X2B0201.toString(), - "弱势交通参与者碰撞预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, - content = "注意行人", - tts = "注意行人" + 0X2B0201.toString(), + "弱势交通参与者碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, + content = "注意行人", + tts = "注意行人" ),//行人/摩托车碰撞预警 TYPE_USECASE_ID_VRUCW_MOTORBIKE( - 0X2B0202.toString(), - "弱势交通参与者碰撞预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, - content = "注意摩托车", - tts = "注意摩托车" + 0X2B0202.toString(), + "弱势交通参与者碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, + content = "注意摩托车", + tts = "注意摩托车" ),//摩托车碰撞预警 + TYPE_USECASE_ID_SLW( + ObuConstants.USE_CASE_ID.SLW.toString(), + "限速预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed, + content = "已超速", + tts = "已超速" + ), TYPE_USECASE_ID_LTA( - MogoObuConstants.V2X_WARNING_TYPE.LTA.toString(), - "左转辅助", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "左转碰撞预警", - tts = "注意路口对向来车" + ObuConstants.USE_CASE_ID.LTA.toString(), + "左转辅助", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "左转碰撞预警", + tts = "注意路口对向来车" ), - - TYPE_USECASE_ID_IVS( - MogoObuConstants.RSI_SCENE_TYPE.IVS.toString(), - "车内标牌", - poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, - content = "车内标牌", - tts = "" - ), - TYPE_USECASE_ID_TJW( //TODO - MogoObuConstants.RSI_SCENE_TYPE.TJW.toString(), - "前方拥堵提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion, - content = "前方%d米道路拥堵", - tts = "前方拥堵,减速慢行" - ), - - //TODO 不能使用之前obu的定义 ObuConstants.USE_CASE_ID.HLW.toString(), - TYPE_USECASE_OPTIMAL_LANE( - "111", - "最优车道", - poiTypeSrcVr = R.drawable.v2x_icon_live_logo, - content = "最优车道", - tts = "最优车道" - ), - TYPE_USECASE_ID_HLW( - MogoObuConstants.RSI_SCENE_TYPE.SLW.toString(), + ObuConstants.USE_CASE_ID.HLW.toString(), "道路危险情况预警", poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous, content = "道路危险情况预警", tts = "前方路况危险,小心行驶" ),//(如果能给出具体的类别,则播报具体危险类别) - + TYPE_USECASE_OPTIMAL_LANE( + ObuConstants.USE_CASE_ID.HLW.toString(), + "最优车道", + poiTypeSrcVr = R.drawable.v2x_icon_live_logo, + content = "最优车道", + tts = "最优车道" + ), + TYPE_USECASE_ID_IVS( + ObuConstants.USE_CASE_ID.IVS.toString(), + "车内标牌", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "车内标牌", + tts = "" + ), + TYPE_USECASE_ID_TJW( + ObuConstants.USE_CASE_ID.TJW.toString(), + "前方拥堵提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion, + content = "前方%d米道路拥堵", + tts = "前方拥堵,减速慢行" + ), TYPE_USECASE_ID_IVP( - 0x2.toString(), - "闯红灯预警", - poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_red, - content = "路口红灯,禁止通行", - tts = "路口红灯,禁止通行" + ObuConstants.USE_CASE_ID.IVP.toString(), + "闯红灯预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_red, + content = "路口红灯,禁止通行", + tts = "路口红灯,禁止通行" ), TYPE_USECASE_ID_IVP_GREEN( - 0x2B091.toString(), - "绿波通行", - poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_green, - content = "建议车速 %s KM/H", - tts = "建议车速 %s KM/H" + 0x2B091.toString(), + "绿波通行", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_green, + content = "建议车速 %s KM/H", + tts = "建议车速 %s KM/H" ), - - //6种智行杯的场景需添加 - TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE( - MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE.toString(), - "注意逆行车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_school, - content = "注意逆行车辆", - tts = "注意逆行车辆" + TYPE_USECASE_ID_COC( + ObuConstants.USE_CASE_ID.COC.toString(), + "预留", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "路况预警", + tts = "路况预警" ), - - TYPE_USECASE_ID_SLW( - MogoObuConstants.RTE.RTI_TYPE_SPEEDING.toString(), - "注意超速车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed, - content = "注意超速车辆", - tts = "注意超速车辆" - ), - - TYPE_USECASE_ID_BREAKDOWN_WARNING( - MogoObuConstants.RTE.RTI_TYPE_BREAKDOWN.toString(), - "注意故障车辆", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "注意故障车辆", - tts = "注意故障车辆" - ), - - TYPE_USECASE_ID_ROAD_PARKING( - MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION.toString(), - "注意异常停车", - poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, - content = "注意异常停车", - tts = "注意异常停车" - ), - TYPE_USECASE_ID_ROAD_TRAMCAR( - 0x2C01.toString(), - "前方有轨电车提醒", - poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, - content = "注意前方有轨电车", - tts = "注意前方有轨电车驶过" + 0x2C01.toString(), + "前方有轨电车提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "注意前方有轨电车", + tts = "注意前方有轨电车驶过" + ), + TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP( + 0x2C02.toString(), + "前方左转急弯", + poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_left_sharp, + content = "注意前方左转急弯", + tts = "前方路口左转急弯,减速慢行", + ), + TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP( + 0x2C03.toString(), + "前方右转急弯", + poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_right_sharp, + content = "注意前方右转急弯", + tts = "前方路口右转急弯,减速慢行" ), - TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING( - 0x2C04.toString(), - "人行横道", - poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, - content = "注意前方人行横道", - tts = "前方人行横道,减速慢行" + 0x2C04.toString(), + "人行横道", + poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, + content = "注意前方人行横道", + tts = "前方人行横道,减速慢行" ), TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL( - 0x2C05.toString(), - "学校", - poiTypeSrcVr = R.drawable.icon_warning_v2x_school, - content = "注意前方学校", - tts = "前方学校,减速慢行" + 0x2C05.toString(), + "学校", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "注意前方学校", + tts = "前方学校,减速慢行" ), TYPE_USECASE_ID_ROAD_COLLISION_WARNING( - 0x2C06.toString(), - "事故易发路段", - poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, - content = "注意当前路段事故多发", - tts = "当前路段事故多发,请小心驾驶" + 0x2C06.toString(), + "事故易发路段", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "注意当前路段事故多发", + tts = "当前路段事故多发,请小心驾驶" ), TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG( - 0x2C07.toString(), - "环岛行驶", - poiTypeSrcVr = R.drawable.icon_warning_v2x_roundaboutpng, - content = "注意前方驶入环岛", - tts = "即将驶入环岛,减速慢行" + 0x2C07.toString(), + "环岛行驶", + poiTypeSrcVr = R.drawable.icon_warning_v2x_roundaboutpng, + content = "注意前方驶入环岛", + tts = "即将驶入环岛,减速慢行" ), TYPE_USECASE_ID_ROAD_TEST_SECTION( - 0x2C08.toString(), - "驾校考试路段", - poiTypeSrcVr = R.drawable.icon_warning_v2x_test_section, - content = "注意前方驾校考试路段", - tts = "驾校考试路段,请小心驾驶" + 0x2C08.toString(), + "驾校考试路段", + poiTypeSrcVr = R.drawable.icon_warning_v2x_test_section, + content = "注意前方驾校考试路段", + tts = "驾校考试路段,请小心驾驶" ), TYPE_USECASE_ID_ROAD_HUMP_BRIDGE( - 0x2C09.toString(), - "驼峰桥", - poiTypeSrcVr = R.drawable.icon_warning_v2x_hump_bridge, - content = "注意前方驼峰桥", - tts = "注意即将驶入驼峰桥,请小心驾驶" + 0x2C09.toString(), + "驼峰桥", + poiTypeSrcVr = R.drawable.icon_warning_v2x_hump_bridge, + content = "注意前方驼峰桥", + tts = "注意即将驶入驼峰桥,请小心驾驶" ), TYPE_USECASE_ID_ROAD_NO_PARKING( - 0x2C10.toString(), - "禁止停车", - poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, - content = "注意当前路段禁止停车", - tts = "当前路段,禁止停车" + 0x2C10.toString(), + "禁止停车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "注意当前路段禁止停车", + tts = "当前路段,禁止停车" + ), + TYPE_USECASE_ID_ROAD_GIVE_WAY( + 0x2C11.toString(), + "减速慢行", + poiTypeSrcVr = R.drawable.icon_warning_v2x_give_way, + content = "注意路况复杂,减速慢行", + tts = "路况复杂,减速慢行" ), - TYPE_ERROR( - MogoObuConstants.RSI_SCENE_TYPE.INVALID.toString(), - "未知/错误/异常", - poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, - content = "", - tts = "" + ObuConstants.USE_CASE_ID.ERROR.toString(), + "未知/错误/异常", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "", + tts = "" ), - TYPE_VIP_IDENTIFICATION("10022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行", "已为您变灯,请优先通行"), + 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_OPTIMAL_ROUTE_RECOMMEND("2000", "", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线"); @@ -751,12 +729,12 @@ enum class EventTypeEnum( TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiTypeSrcVr TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.poiTypeSrcVr TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.poiTypeSrcVr -// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.poiTypeSrcVr + TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.poiTypeSrcVr TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.poiTypeSrcVr TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.poiTypeSrcVr TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.poiTypeSrcVr TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.poiTypeSrcVr -// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.poiTypeSrcVr + TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.poiTypeSrcVr TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.poiTypeSrcVr TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiTypeSrcVr TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiTypeSrcVr @@ -793,12 +771,12 @@ enum class EventTypeEnum( TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.content TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.content TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.content -// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.content + TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.content TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.content TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.content TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.content TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.content -// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.content + TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.content TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.content TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.content TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.content @@ -836,12 +814,12 @@ enum class EventTypeEnum( TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.tts TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.tts TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.tts -// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.tts //TODO + TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.tts TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.tts TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.tts TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.tts TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.tts -// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.tts + TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.tts TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.tts TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.tts TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.tts @@ -863,5 +841,4 @@ enum class EventTypeEnum( } } } - } \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnumNew.kt b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnumNew.kt new file mode 100644 index 0000000000..a666cbead3 --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnumNew.kt @@ -0,0 +1,867 @@ +package com.mogo.module.common.enums + +import com.mogo.module.common.R +import com.mogo.module.common.utils.CloudPoiManager +import com.mogo.support.obu.constants.MogoObuConstants + +/** + * OBU、V2N事件类型枚举类 + */ +enum class EventTypeEnumNew( + val poiType: String, val poiTypeStr: String = "", + val poiTypeStrVr: String = "", + val poiTypeSrcVr: Int = R.drawable.v2x_icon_live_logo, + val content: String = "", val tts: String = "" +) { + + //交通检查 + TRAFFIC_CHECK( + "10002", "交通检查", "前方交通检查", + R.drawable.v2x_icon_jiaotongjiancha_vr, "前方交通检查", "交通检查" + ), + + //封路 + ROAD_CLOSED( + "10003", "封路", "前方封路", R.drawable.v2x_icon_fenglu_vr, + "前方封路", "道路封路" + ), + + //施工 + FOURS_ROAD_WORK( + "10006", "注意施工占道", "注意施工占道", R.drawable.icon_warning_v2x_road_construction, + "注意施工占道", "注意施工占道" + ), + + //施工-AI云下发 + AI_ROAD_WORK( + "100061", "道路施工", "前方施工", R.drawable.icon_warning_v2x_road_construction, + "前方施工", "道路施工" + ), + + //拥堵 + FOURS_BLOCK_UP( + "10007", "道路拥堵", "前方拥堵", R.drawable.icon_warning_v2x_congestion, + "前方道路拥堵", "道路拥堵" + ), + + //积水 + FOURS_PONDING( + "10008", "道路积水", "前方道路积水", R.drawable.v2x_icon_jishui_vr, + "前方道路积水", "道路积水" + ), + + //浓雾 + FOURS_FOG( + "10010", "出现浓雾", "浓雾预警", R.drawable.v2x_icon_nongwu_vr, + "前方出现浓雾", "出现浓雾" + ), + + //结冰 + FOURS_ICE( + "10011", "路面结冰", "路面结冰", R.drawable.v2x_icon_jiebing_vr, + "前方路面结冰", "路面结冰" + ), + + //事故 + FOURS_ACCIDENT( + "10013", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //重大事故 + FOURS_ACCIDENT_01( + "1001301", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //特大事故 + FOURS_ACCIDENT_02( + "1001302", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //较大事故 + FOURS_ACCIDENT_03( + "1001303", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //一般事故 + FOURS_ACCIDENT_04( + "1001304", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //轻微事故 + FOURS_ACCIDENT_05( + "1001305", "交通事故", "前方交通事故", R.drawable.v2x_icon_jiaotongshigu_vr, + "前方交通事故", "交通事故" + ), + + //实时路况 + FOURS_LIVING("10015", "实时路况"), + + //违章停车 + ILLEGAL_PARK_LIVING("10016"), + + //路面湿滑 + ROAD_SLIPPERY("10021"), + + //鬼探头类型 + GHOST_PROBE("10024", "前方盲区行人预警", "前方盲区行人预警", R.drawable.icon_warning_v2x_pedestrian_crossing, + "前方盲区行人通行,请注意", "前方盲区即将有行人通过,请减速慢行"), + + // 前方静止or慢速车辆报警 + ALERT_FRONT_CAR("99999"), + + // 限行管理 + ALERT_TRAFFIC_CONTROL("99998"), + + // 红绿灯事件、是建议以多少速度驶过 + ALERT_TRAFFIC_LIGHT_SUGGEST("99997"), + + // 红绿灯事件、一种是绿灯不足3秒 + ALERT_TRAFFIC_LIGHT_WARNING("99996"), + + // 故障车辆 + ALERT_CAR_TROUBLE_WARNING("20007"), + + // 疲劳驾驶 + ALERT_FATIGUE_DRIVING("99993"), + + // 违章停车 + ALERT_ILLEGAL_PARK("99992"), + + TYPE_USECASE_ID_EBW( + MogoObuConstants.V2X_WARNING_TYPE.EBW.toString(), + "紧急制动预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_emergency_brake, + content = "前车急刹车", + tts = "前车急刹车" + ), + TYPE_USECASE_ID_FCW( + MogoObuConstants.V2X_WARNING_TYPE.FCW.toString(), + "前向碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "前车碰撞预警", + tts = "小心前车" + ), + TYPE_USECASE_ID_ICW( + MogoObuConstants.V2X_WARNING_TYPE.ICW.toString(), + "交叉路口碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "交叉路口碰撞预警", + tts = "注意交叉路口车辆" + ), + TYPE_USECASE_ID_AVW( + MogoObuConstants.V2X_WARNING_TYPE.AVW.toString(), + "异常车辆提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "%s车异常", + tts = "小心%s异常车辆" + ), + TYPE_USECASE_ID_BSW( + MogoObuConstants.V2X_WARNING_TYPE.BSW.toString(), + "盲区预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_blind_area_collision, + content = "%s后盲区预警", + tts = "注意%s后车辆" + ), + TYPE_USECASE_ID_LCW( + MogoObuConstants.V2X_WARNING_TYPE.LCW.toString(), + "变道预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, + content = "%s向变道预警", + tts = "注意%s后车辆" + ),//注意左后车辆/注意右后车辆 + + TYPE_USECASE_ID_EVW( + MogoObuConstants.V2X_WARNING_TYPE.EVW.toString(), + "紧急车辆提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_special_vehicle_access, + content = "注意特种车辆通行", + tts = "请避让特种车辆" + ), + TYPE_USECASE_ID_CLW( + MogoObuConstants.V2X_WARNING_TYPE.CLW.toString(), + "车辆失控预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_vehicle_control, + content = "前%s失控预警", + tts = "小心%s失控车辆" + ), + TYPE_USECASE_ID_DNPW( + MogoObuConstants.V2X_WARNING_TYPE.DNPW.toString(), + "逆向超车预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_reverse_overtaking, + content = "逆向超车预警", + tts = "注意对向来车" + ), + TYPE_USECASE_ID_ROAD_GIVE_WAY( + 0x2C11.toString(), + "减速慢行", + poiTypeSrcVr = R.drawable.icon_warning_v2x_give_way, + content = "注意路况复杂,减速慢行", + tts = "路况复杂,减速慢行" + ), + TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP( + 0x2C03.toString(), + "前方右转急弯", + poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_right_sharp, + content = "注意前方右转急弯", + tts = "前方路口右转急弯,减速慢行" + ), + TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP( + 0x2C02.toString(), + "前方左转急弯", + poiTypeSrcVr = R.drawable.icon_warning_v2x_turn_left_sharp, + content = "注意前方左转急弯", + tts = "前方路口左转急弯,减速慢行", + ), + + //TODO + TYPE_USECASE_ID_VRUCW_PERSON( + 0X2B0201.toString(), + "弱势交通参与者碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, + content = "注意行人", + tts = "注意行人" + ),//行人/摩托车碰撞预警 + TYPE_USECASE_ID_VRUCW_MOTORBIKE( + 0X2B0202.toString(), + "弱势交通参与者碰撞预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, + content = "注意摩托车", + tts = "注意摩托车" + ),//摩托车碰撞预警 + TYPE_USECASE_ID_LTA( + MogoObuConstants.V2X_WARNING_TYPE.LTA.toString(), + "左转辅助", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "左转碰撞预警", + tts = "注意路口对向来车" + ), + + TYPE_USECASE_ID_IVS( + MogoObuConstants.RSI_SCENE_TYPE.IVS.toString(), + "车内标牌", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction, + content = "车内标牌", + tts = "" + ), + TYPE_USECASE_ID_TJW( //TODO + MogoObuConstants.RSI_SCENE_TYPE.TJW.toString(), + "前方拥堵提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion, + content = "前方%d米道路拥堵", + tts = "前方拥堵,减速慢行" + ), + + //TODO 不能使用之前obu的定义 ObuConstants.USE_CASE_ID.HLW.toString(), + TYPE_USECASE_OPTIMAL_LANE( + "111", + "最优车道", + poiTypeSrcVr = R.drawable.v2x_icon_live_logo, + content = "最优车道", + tts = "最优车道" + ), + + TYPE_USECASE_ID_HLW( + MogoObuConstants.RSI_SCENE_TYPE.SLW.toString(), + "道路危险情况预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous, + content = "道路危险情况预警", + tts = "前方路况危险,小心行驶" + ),//(如果能给出具体的类别,则播报具体危险类别) + + TYPE_USECASE_ID_IVP( + 0x2.toString(), + "闯红灯预警", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_red, + content = "路口红灯,禁止通行", + tts = "路口红灯,禁止通行" + ), + TYPE_USECASE_ID_IVP_GREEN( + 0x2B091.toString(), + "绿波通行", + poiTypeSrcVr = R.drawable.icon_warning_v2x_traffic_lights_green, + content = "建议车速 %s KM/H", + tts = "建议车速 %s KM/H" + ), + + //6种智行杯的场景需添加 + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE( + MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE.toString(), + "注意逆行车辆", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "注意逆行车辆", + tts = "注意逆行车辆" + ), + + TYPE_USECASE_ID_SLW( + MogoObuConstants.RTE.RTI_TYPE_SPEEDING.toString(), + "注意超速车辆", + poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed, + content = "注意超速车辆", + tts = "注意超速车辆" + ), + + TYPE_USECASE_ID_BREAKDOWN_WARNING( + MogoObuConstants.RTE.RTI_TYPE_BREAKDOWN.toString(), + "注意故障车辆", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "注意故障车辆", + tts = "注意故障车辆" + ), + + TYPE_USECASE_ID_ROAD_PARKING( + MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION.toString(), + "注意异常停车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "注意异常停车", + tts = "注意异常停车" + ), + + TYPE_USECASE_ID_ROAD_TRAMCAR( + 0x2C01.toString(), + "前方有轨电车提醒", + poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar, + content = "注意前方有轨电车", + tts = "注意前方有轨电车驶过" + ), + + TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING( + 0x2C04.toString(), + "人行横道", + poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, + content = "注意前方人行横道", + tts = "前方人行横道,减速慢行" + ), + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL( + 0x2C05.toString(), + "学校", + poiTypeSrcVr = R.drawable.icon_warning_v2x_school, + content = "注意前方学校", + tts = "前方学校,减速慢行" + ), + TYPE_USECASE_ID_ROAD_COLLISION_WARNING( + 0x2C06.toString(), + "事故易发路段", + poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning, + content = "注意当前路段事故多发", + tts = "当前路段事故多发,请小心驾驶" + ), + TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG( + 0x2C07.toString(), + "环岛行驶", + poiTypeSrcVr = R.drawable.icon_warning_v2x_roundaboutpng, + content = "注意前方驶入环岛", + tts = "即将驶入环岛,减速慢行" + ), + TYPE_USECASE_ID_ROAD_TEST_SECTION( + 0x2C08.toString(), + "驾校考试路段", + poiTypeSrcVr = R.drawable.icon_warning_v2x_test_section, + content = "注意前方驾校考试路段", + tts = "驾校考试路段,请小心驾驶" + ), + TYPE_USECASE_ID_ROAD_HUMP_BRIDGE( + 0x2C09.toString(), + "驼峰桥", + poiTypeSrcVr = R.drawable.icon_warning_v2x_hump_bridge, + content = "注意前方驼峰桥", + tts = "注意即将驶入驼峰桥,请小心驾驶" + ), + TYPE_USECASE_ID_ROAD_NO_PARKING( + 0x2C10.toString(), + "禁止停车", + poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking, + content = "注意当前路段禁止停车", + tts = "当前路段,禁止停车" + ), + + TYPE_ERROR( + MogoObuConstants.RSI_SCENE_TYPE.INVALID.toString(), + "未知/错误/异常", + poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, + content = "", + tts = "" + ), + + TYPE_VIP_IDENTIFICATION("10022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行", "已为您变灯,请优先通行"), + + TYPE_OPTIMAL_ROUTE_RECOMMEND("2000", "", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线"); + + + companion object { + @JvmStatic + fun getPoiTypeStr(poiType: String): String { + // 先获取网络配置的poi对应的名称 + CloudPoiManager.getInstance().getWrapperByPoiType(poiType)?.let { + return it.title + } + // 如果获取不到,那么就用本地默认的 + return when (poiType) { + TRAFFIC_CHECK.poiType -> TRAFFIC_CHECK.poiTypeStr + ROAD_CLOSED.poiType -> ROAD_CLOSED.poiTypeStr + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.poiTypeStr + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.poiTypeStr + FOURS_BLOCK_UP.poiType -> FOURS_BLOCK_UP.poiTypeStr + FOURS_PONDING.poiType -> FOURS_PONDING.poiTypeStr + FOURS_FOG.poiType -> FOURS_FOG.poiTypeStr + FOURS_ICE.poiType -> FOURS_ICE.poiTypeStr + + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, + FOURS_ACCIDENT_02.poiType, FOURS_ACCIDENT_03.poiType, + FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> FOURS_ACCIDENT.poiTypeStr + + FOURS_LIVING.poiType -> FOURS_LIVING.poiTypeStr + GHOST_PROBE.poiType -> GHOST_PROBE.poiTypeStr + else -> "其它道路事件" + } + } + + @JvmStatic + fun getPoiTypeStrVr(poiType: String): String { + return when (poiType) { + TRAFFIC_CHECK.poiType -> TRAFFIC_CHECK.poiTypeStrVr + ROAD_CLOSED.poiType -> ROAD_CLOSED.poiTypeStrVr + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.poiTypeStrVr + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.poiTypeStrVr + FOURS_BLOCK_UP.poiType -> FOURS_BLOCK_UP.poiTypeStrVr + FOURS_PONDING.poiType -> FOURS_PONDING.poiTypeStrVr + FOURS_FOG.poiType -> FOURS_FOG.poiTypeStrVr + FOURS_ICE.poiType -> FOURS_ICE.poiTypeStrVr + + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, + FOURS_ACCIDENT_02.poiType, FOURS_ACCIDENT_03.poiType, + FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> FOURS_ACCIDENT.poiTypeStrVr + + FOURS_LIVING.poiType -> FOURS_LIVING.poiTypeStrVr + GHOST_PROBE.poiType -> GHOST_PROBE.poiTypeStrVr + else -> "其它道路事件" + } + } + + @JvmStatic + fun getPoiTypeSrcVr(poiType: String): Int { + return when (poiType) { + TRAFFIC_CHECK.poiType -> TRAFFIC_CHECK.poiTypeSrcVr + ROAD_CLOSED.poiType -> ROAD_CLOSED.poiTypeSrcVr + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.poiTypeSrcVr + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.poiTypeSrcVr + FOURS_BLOCK_UP.poiType -> FOURS_BLOCK_UP.poiTypeSrcVr + FOURS_PONDING.poiType -> FOURS_PONDING.poiTypeSrcVr + FOURS_FOG.poiType -> FOURS_FOG.poiTypeSrcVr + FOURS_ICE.poiType -> FOURS_ICE.poiTypeSrcVr + + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, + FOURS_ACCIDENT_02.poiType, FOURS_ACCIDENT_03.poiType, + FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> FOURS_ACCIDENT.poiTypeSrcVr + + FOURS_LIVING.poiType -> FOURS_LIVING.poiTypeSrcVr + else -> R.drawable.v2x_icon_live_logo + } + } + + /** + * 获取道路事件的背景色 + */ + @JvmStatic + fun getPoiTypeBg(poiType: String, isVrMode: Boolean): Int { + return when (poiType) { + FOURS_BLOCK_UP.poiType, FOURS_LIVING.poiType-> if (isVrMode) R.drawable.bg_v2x_event_type_orange_vr else R.drawable.bg_v2x_event_type_orange + TRAFFIC_CHECK.poiType, ROAD_CLOSED.poiType, FOURS_ROAD_WORK.poiType,AI_ROAD_WORK.poiType, + FOURS_PONDING.poiType, FOURS_FOG.poiType, FOURS_ICE.poiType, FOURS_ACCIDENT.poiType, + FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, FOURS_ACCIDENT_03.poiType, + FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> if (isVrMode) R.drawable.bg_v2x_event_type_red_vr else R.drawable.bg_v2x_event_type_read + else -> { + if (isVrMode) R.drawable.bg_v2x_event_type_red_vr else R.drawable.bg_v2x_event_type_read + } + } + } + + @JvmStatic + fun getPoiTypeBgForShareItem(poiType: String): Int { + return when (poiType) { + FOURS_BLOCK_UP.poiType, FOURS_LIVING.poiType -> + R.drawable.bg_v2x_event_type_orange + TRAFFIC_CHECK.poiType, ROAD_CLOSED.poiType, + FOURS_ROAD_WORK.poiType,AI_ROAD_WORK.poiType, FOURS_PONDING.poiType, + FOURS_FOG.poiType, FOURS_ICE.poiType, + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, + FOURS_ACCIDENT_02.poiType, FOURS_ACCIDENT_03.poiType, + FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> + R.drawable.bg_v2x_event_type_read + else -> R.drawable.bg_v2x_event_type_read + } + } + + /** + * 判断是否是道路预警事件 + */ + @JvmStatic + fun isRoadEvent(poiType: String?): Boolean { + return when (poiType) { + TRAFFIC_CHECK.poiType, ROAD_CLOSED.poiType, + FOURS_ROAD_WORK.poiType,AI_ROAD_WORK.poiType, FOURS_BLOCK_UP.poiType, + FOURS_PONDING.poiType, FOURS_FOG.poiType, + FOURS_ICE.poiType, FOURS_ACCIDENT.poiType, + FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, + FOURS_ACCIDENT_05.poiType, GHOST_PROBE.poiType, AI_ROAD_WORK.poiType -> true + else -> false + } + } + + /** + * 是否需要UGC预警 + */ + @JvmStatic + fun isNeedRoadEventUgc(poiType: String?): Boolean { + return when (poiType) { + ROAD_CLOSED.poiType, FOURS_ROAD_WORK.poiType,AI_ROAD_WORK.poiType, + FOURS_BLOCK_UP.poiType, FOURS_ACCIDENT.poiType, + FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, + FOURS_ACCIDENT_05.poiType, GHOST_PROBE.poiType -> true + else -> false + } + } + + + @JvmStatic + fun getTts(poiType: String?): String { + return when (poiType) { + TRAFFIC_CHECK.poiType -> TRAFFIC_CHECK.tts + ROAD_CLOSED.poiType -> ROAD_CLOSED.tts + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.tts + FOURS_BLOCK_UP.poiType -> FOURS_BLOCK_UP.tts + FOURS_PONDING.poiType -> FOURS_PONDING.tts + FOURS_FOG.poiType -> FOURS_FOG.tts + FOURS_ICE.poiType -> FOURS_ICE.tts + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> FOURS_ACCIDENT.tts + else -> "道路事件" + } + } + + @JvmStatic + fun getTtsWithFeedback(poiType: String?): String { + return when (poiType) { + TRAFFIC_CHECK.poiType -> "交通检查" + ROAD_CLOSED.poiType -> "封路" + FOURS_ROAD_WORK.poiType -> "施工" + AI_ROAD_WORK.poiType -> "施工" + FOURS_BLOCK_UP.poiType -> "道路拥堵" + FOURS_PONDING.poiType -> "道路积水" + FOURS_FOG.poiType -> "出现浓雾" + FOURS_ICE.poiType -> "路面结冰" + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> "交通事故" + else -> "道路事件" + } + } + + @JvmStatic + fun getAlarmContent(poiType: String?): String { + return when (poiType) { + TRAFFIC_CHECK.poiType -> TRAFFIC_CHECK.content + ROAD_CLOSED.poiType -> ROAD_CLOSED.content + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.content + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.content + FOURS_BLOCK_UP.poiType -> FOURS_BLOCK_UP.content + FOURS_PONDING.poiType -> FOURS_PONDING.content + FOURS_FOG.poiType -> FOURS_FOG.content + FOURS_ICE.poiType -> FOURS_ICE.content + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> + FOURS_ACCIDENT.content + GHOST_PROBE.poiType -> GHOST_PROBE.content + else -> "道路事件" + } + } + + @JvmStatic + fun getTypeSmallRes(type: String): Int { + return when (type) { + TRAFFIC_CHECK.poiType -> + R.drawable.mogo_image_jiaotongjiancha_small + ROAD_CLOSED.poiType -> R.drawable.mogo_image_fenglu_small + FOURS_ROAD_WORK.poiType -> R.drawable.mogo_image_daolushigong_small + AI_ROAD_WORK.poiType -> R.drawable.mogo_image_daolushigong_small + FOURS_BLOCK_UP.poiType -> R.drawable.mogo_image_yongdu_small + FOURS_PONDING.poiType -> R.drawable.mogo_image_jishui_small + FOURS_ICE.poiType -> R.drawable.mogo_image_jiebing_small + FOURS_FOG.poiType -> R.drawable.mogo_image_nongwu_small + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> + R.drawable.mogo_image_accident_small + else -> R.drawable.mogo_image_shishilukuang_small + } + } + + @JvmStatic + fun getTypeRes(type: String): Int { + return when (type) { + TRAFFIC_CHECK.poiType -> R.drawable.mogo_image_jiaotongjiancha_nor + ROAD_CLOSED.poiType -> R.drawable.mogo_image_fenglu_nor + FOURS_ROAD_WORK.poiType -> R.drawable.mogo_image_daolushigong_nor + AI_ROAD_WORK.poiType -> R.drawable.mogo_image_daolushigong_nor + FOURS_BLOCK_UP.poiType -> R.drawable.mogo_image_yongdu_nor + FOURS_PONDING.poiType -> R.drawable.mogo_image_jishui_nor + FOURS_ICE.poiType -> R.drawable.mogo_image_jiebing_nor + FOURS_FOG.poiType -> R.drawable.mogo_image_nongwu_nor + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> + R.drawable.mogo_image_jiaotongshigu_nor + else -> R.drawable.mogo_image_shishlukuang_nor + } + } + + @JvmStatic + fun getTypeName(type: String?): String { + return when (type) { + ROAD_CLOSED.poiType -> "封路" + FOURS_ICE.poiType -> "道路结冰" + FOURS_FOG.poiType -> "浓雾" + TRAFFIC_CHECK.poiType -> "交通检查" + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> "交通事故" + FOURS_BLOCK_UP.poiType -> "拥堵" + FOURS_ROAD_WORK.poiType -> "施工" + AI_ROAD_WORK.poiType -> "施工" + FOURS_PONDING.poiType -> "道路积水" + else -> "实时路况" + } + } + + @JvmStatic + fun getMarker3DRes(poiType: String?): Int { + return when (poiType) { + FOURS_BLOCK_UP.poiType -> R.raw.v2x_yongdu + FOURS_ACCIDENT.poiType -> R.raw.v2x_shigu + FOURS_LIVING.poiType -> R.raw.v2x_shishilukuang + FOURS_FOG.poiType -> R.raw.v2x_nongwu + TRAFFIC_CHECK.poiType -> R.raw.v2x_jiaotongjiancha + FOURS_ROAD_WORK.poiType -> R.raw.v2x_daolushigong + AI_ROAD_WORK.poiType -> R.raw.v2x_daolushigong + FOURS_ICE.poiType -> R.raw.v2x_daolujiebing + FOURS_PONDING.poiType -> R.raw.v2x_daolujishui + GHOST_PROBE.poiType -> R.raw.v2x_guzhangqiuzhu + else -> 0 + } + } + + @JvmStatic + fun getTypeNameTTS(type: String?): String { + return when (type) { + ROAD_CLOSED.poiType -> "封路" + FOURS_ICE.poiType -> "道路结冰" + FOURS_FOG.poiType -> "浓雾" + TRAFFIC_CHECK.poiType -> "交通检查" + FOURS_ACCIDENT.poiType, FOURS_ACCIDENT_01.poiType, FOURS_ACCIDENT_02.poiType, + FOURS_ACCIDENT_03.poiType, FOURS_ACCIDENT_04.poiType, FOURS_ACCIDENT_05.poiType -> "交通事故" + FOURS_BLOCK_UP.poiType -> "拥堵" + FOURS_ROAD_WORK.poiType -> "施工" + AI_ROAD_WORK.poiType -> "施工" + FOURS_PONDING.poiType -> "道路积水" + else -> "实时路况" + } + } + + @JvmStatic + fun getUpdateIconRes(poiType: String?): Int { + return when (poiType) { + //交通检查 + TRAFFIC_CHECK.poiType -> { + R.drawable.v_to_x_marker_2 + } + //封路 + ROAD_CLOSED.poiType -> { + R.drawable.v_to_x_marker_16 + } + //施工 + FOURS_ROAD_WORK.poiType -> { + R.drawable.v_to_x_marker_11 + } + //AI施工 + AI_ROAD_WORK.poiType -> { + R.drawable.v_to_x_marker_11 + } + //拥堵 + FOURS_BLOCK_UP.poiType -> { + R.drawable.v_to_x_marker_5 + } + //积水 + FOURS_PONDING.poiType -> { + R.drawable.v_to_x_marker_6 + } + //浓雾 + FOURS_FOG.poiType -> { + R.drawable.v_to_x_marker_9 + } + //结冰 + FOURS_ICE.poiType -> { + R.drawable.v_to_x_marker_8 + } + //事故 + FOURS_ACCIDENT.poiType -> { + R.drawable.v_to_x_marker_7 + } + //事故 + FOURS_LIVING.poiType -> { + R.drawable.v_to_x_marker_1 + } + //红绿灯数据 + ALERT_TRAFFIC_LIGHT_SUGGEST.poiType -> { + R.drawable.v_to_x_marker_3 + } + //红绿灯数据 + ALERT_TRAFFIC_LIGHT_WARNING.poiType -> { + R.drawable.v_to_x_marker_3 + } + //前方静止or慢速车辆报警 + ALERT_FRONT_CAR.poiType -> { + R.drawable.v_to_x_warning_car_red + } + // 故障车辆 + ALERT_CAR_TROUBLE_WARNING.poiType -> { + R.drawable.icon_car_red + } + else -> 0 + } + } + + //===================告警类事件=================== + + @JvmStatic + fun getWarningIcon(poiType: String?): Int { + return when (poiType) { + TYPE_USECASE_ID_EBW.poiType -> TYPE_USECASE_ID_EBW.poiTypeSrcVr + TYPE_USECASE_ID_FCW.poiType -> TYPE_USECASE_ID_FCW.poiTypeSrcVr + TYPE_USECASE_ID_ICW.poiType -> TYPE_USECASE_ID_ICW.poiTypeSrcVr + TYPE_USECASE_ID_CLW.poiType -> TYPE_USECASE_ID_CLW.poiTypeSrcVr + TYPE_USECASE_ID_DNPW.poiType -> TYPE_USECASE_ID_DNPW.poiTypeSrcVr + TYPE_USECASE_ID_AVW.poiType -> TYPE_USECASE_ID_AVW.poiTypeSrcVr + TYPE_USECASE_ID_BSW.poiType -> TYPE_USECASE_ID_BSW.poiTypeSrcVr + TYPE_USECASE_ID_LCW.poiType -> TYPE_USECASE_ID_LCW.poiTypeSrcVr + TYPE_USECASE_ID_EVW.poiType -> TYPE_USECASE_ID_EVW.poiTypeSrcVr + TYPE_USECASE_ID_VRUCW_PERSON.poiType -> TYPE_USECASE_ID_VRUCW_PERSON.poiTypeSrcVr + TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiTypeSrcVr + TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.poiTypeSrcVr + TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.poiTypeSrcVr +// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.poiTypeSrcVr + TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.poiTypeSrcVr + TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.poiTypeSrcVr + TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.poiTypeSrcVr + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.poiTypeSrcVr +// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiTypeSrcVr + TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.poiTypeSrcVr + 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_ERROR.poiType -> TYPE_ERROR.poiTypeSrcVr + TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeSrcVr + GHOST_PROBE.poiType -> GHOST_PROBE.poiTypeSrcVr + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.poiTypeSrcVr + else -> TYPE_ERROR.poiTypeSrcVr + } + } + + @JvmStatic + fun getWarningContent(poiType: String?): String { + return when (poiType) { + TYPE_USECASE_ID_EBW.poiType -> TYPE_USECASE_ID_EBW.content + TYPE_USECASE_ID_FCW.poiType -> TYPE_USECASE_ID_FCW.content + TYPE_USECASE_ID_ICW.poiType -> TYPE_USECASE_ID_ICW.content + TYPE_USECASE_ID_CLW.poiType -> TYPE_USECASE_ID_CLW.content + TYPE_USECASE_ID_DNPW.poiType -> TYPE_USECASE_ID_DNPW.content + TYPE_USECASE_ID_AVW.poiType -> TYPE_USECASE_ID_AVW.content + TYPE_USECASE_ID_BSW.poiType -> TYPE_USECASE_ID_BSW.content + TYPE_USECASE_ID_LCW.poiType -> TYPE_USECASE_ID_LCW.content + TYPE_USECASE_ID_EVW.poiType -> TYPE_USECASE_ID_EVW.content + TYPE_USECASE_ID_VRUCW_PERSON.poiType -> TYPE_USECASE_ID_VRUCW_PERSON.content + TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.content + TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.content + TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.content +// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.content + TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.content + TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.content + TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.content + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.content +// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.content + TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.content + TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.content + TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.content + TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.content + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.content + TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.content + TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.content + TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.content + 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 + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.content + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.content + TYPE_ERROR.poiType -> TYPE_ERROR.content + TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.content + GHOST_PROBE.poiType -> GHOST_PROBE.content + else -> TYPE_ERROR.content + } + } + + @JvmStatic + fun getWarningTts(poiType: String?): String { + return when (poiType) { + TYPE_USECASE_ID_EBW.poiType -> TYPE_USECASE_ID_EBW.tts + TYPE_USECASE_ID_FCW.poiType -> TYPE_USECASE_ID_FCW.tts + TYPE_USECASE_ID_ICW.poiType -> TYPE_USECASE_ID_ICW.tts + TYPE_USECASE_ID_CLW.poiType -> TYPE_USECASE_ID_CLW.tts + TYPE_USECASE_ID_DNPW.poiType -> TYPE_USECASE_ID_DNPW.tts + TYPE_USECASE_ID_AVW.poiType -> TYPE_USECASE_ID_AVW.tts + TYPE_USECASE_ID_BSW.poiType -> TYPE_USECASE_ID_BSW.tts + TYPE_USECASE_ID_LCW.poiType -> TYPE_USECASE_ID_LCW.tts + TYPE_USECASE_ID_EVW.poiType -> TYPE_USECASE_ID_EVW.tts + TYPE_USECASE_ID_VRUCW_PERSON.poiType -> TYPE_USECASE_ID_VRUCW_PERSON.tts + TYPE_USECASE_ID_VRUCW_MOTORBIKE.poiType -> TYPE_USECASE_ID_VRUCW_MOTORBIKE.tts + TYPE_USECASE_ID_SLW.poiType -> TYPE_USECASE_ID_SLW.tts + TYPE_USECASE_ID_LTA.poiType -> TYPE_USECASE_ID_LTA.tts +// TYPE_USECASE_ID_HLW.poiType -> TYPE_USECASE_ID_HLW.tts //TODO + TYPE_USECASE_ID_IVS.poiType -> TYPE_USECASE_ID_IVS.tts + TYPE_USECASE_ID_TJW.poiType -> TYPE_USECASE_ID_TJW.tts + TYPE_USECASE_ID_IVP.poiType -> TYPE_USECASE_ID_IVP.tts + TYPE_USECASE_ID_IVP_GREEN.poiType -> TYPE_USECASE_ID_IVP_GREEN.tts +// TYPE_USECASE_ID_COC.poiType -> TYPE_USECASE_ID_COC.tts + TYPE_USECASE_ID_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.tts + TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_LEFT_SHARP.tts + TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.poiType -> TYPE_USECASE_ID_ROAD_TURN_RIGHT_SHARP.tts + TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_CROSSING.tts + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.tts + TYPE_USECASE_ID_ROAD_COLLISION_WARNING.poiType -> TYPE_USECASE_ID_ROAD_COLLISION_WARNING.tts + TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.poiType -> TYPE_USECASE_ID_ROAD_ROUNDABOUTPNG.tts + TYPE_USECASE_ID_ROAD_TEST_SECTION.poiType -> TYPE_USECASE_ID_ROAD_TEST_SECTION.tts + 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 + FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts + AI_ROAD_WORK.poiType -> AI_ROAD_WORK.tts + TYPE_ERROR.poiType -> TYPE_ERROR.tts + TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.tts + GHOST_PROBE.poiType -> GHOST_PROBE.tts + else -> TYPE_ERROR.tts + } + } + } + +} \ No newline at end of file