213 添加obu 的标牌

This commit is contained in:
lixiaopeng
2022-11-22 22:59:51 +08:00
parent b5f41184da
commit e91fa29b16
4 changed files with 408 additions and 193 deletions

View File

@@ -97,7 +97,7 @@ ext {
// obu sdk
obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3",
mogoobuold : 'com.zhidao.support.obu:mogoobu:1.0.0.33',
mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.1',
mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.3',
mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.24',
// google

View File

@@ -237,76 +237,133 @@ class MogoPrivateObuNewManager private constructor() {
"$M_OBU${MogoObuConst.TAG_MOGO_OBU}",
"onMogoObuRsiWarning ------> $data"
)
if (data != null && data.warning_Msg != null && data.warning_Msg.size > 0) {
if (data != null && data.warningMsg != null && data.warningMsg.size > 0) {
var alertContent = ""
var ttsContent = ""
var appId = data.warning_Msg[0].sceneType.toString()
var appId = data.warningMsg[0].sceneType.toString()
val status = data.status
val level = data.warning_Msg[0].warningLevel
val direction = getMessageDirection(data.warning_Msg[0].targetPosition)
val level = data.warningMsg[0].warningLevel
val direction = getMessageDirection(data.warningMsg[0].targetPosition)
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_OBU}",
"onCvxRtiThreatIndInfo appId = $appId --status = $status --level = $level -- eventSerialNum = ${data.warning_Msg[0].eventSerialNum} -- direction = $direction -- targetPosition = ${data.warning_Msg[0].targetPosition}"
"onCvxRtiThreatIndInfo appId = $appId --status = $status --level = $level -- eventSerialNum = ${data.warningMsg[0].eventSerialNum} -- direction = $direction -- targetPosition = ${data.warningMsg[0].targetPosition}"
)
when (appId) {
// 道路危险情况预警
V2iEventTypeEnum.TYPE_USECASE_ID_HLW.poiType
-> {
when (data.warning_Msg[0].eventSerialNum) {
MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE -> { //车辆逆行
appId =
V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType
}
MogoObuConstants.RTE.RTI_TYPE_SPEEDING -> { //超速行驶
appId = V2iEventTypeEnum.TYPE_USECASE_ID_SLW.poiType
}
when (data.warningMsg[0].eventSerialNum) {
MogoObuConstants.RTE.RTI_TYPE_BREAKDOWN -> {//车辆故障
appId = V2iEventTypeEnum.TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType
}
MogoObuConstants.RTE.RTI_TYPE_CONSTRUCTION_RTE -> { //施工占道
appId = V2iEventTypeEnum.FOURS_ROAD_WORK.poiType
}
MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION -> { //异常停车
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PARKING.poiType
}
MogoObuConstants.RTE.RTI_TYPE_ROAD_WATER -> { //道路积水
appId = V2iEventTypeEnum.FOURS_PONDING.poiType
}
MogoObuConstants.RTE.RTI_TYPE_PARKING_VIOLATION -> { //异常停车
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PARKING.poiType
}
// MogoObuConstants.RTE.RTI_TYPE_CONSTRUCTION_RTE -> { //施工占道 TODO
// appId = V2iEventTypeEnum.FOURS_ROAD_WORK.poiType
// }
MogoObuConstants.RTE.RTI_TYPE_TJW -> { // 拥堵
appId = V2iEventTypeEnum.TYPE_USECASE_ID_TJW.poiType
}
MogoObuConstants.RTE.RTI_TYPE_SPEEDING -> { //超速行驶
appId = V2iEventTypeEnum.TYPE_USECASE_ID_SLW.poiType
}
MogoObuConstants.RTE.RTI_TYPE_RETRIGRADE -> { //车辆逆行
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType
}
}
alertContent = V2iEventTypeEnum.getWarningContent(appId)
ttsContent = V2iEventTypeEnum.getWarningTts(appId)
}
V2iEventTypeEnum.TYPE_USECASE_ID_IVS.poiType -> { //车内标牌
when (data.warning_Msg[0].eventSerialNum) {
//车内标牌
V2iEventTypeEnum.TYPE_USECASE_ID_IVS.poiType -> {
when (data.warningMsg[0].eventSerialNum) {
MogoObuConstants.RTS.RTI_TYPE_INTERSECTION -> { //十字路口
appId = V2iEventTypeEnum.TYPE_ID_NTERSECTION.poiType
}
MogoObuConstants.RTS.RTI_TYPE_SHAPR_TURNS -> { //急转弯
appId = V2iEventTypeEnum.TYPE_ID_SHAPR_TURNS.poiType
}
MogoObuConstants.RTS.RTI_TYPE_BRIDGE -> { //桥梁
appId = V2iEventTypeEnum.TYPE_ID_BRIDGE.poiType
}
MogoObuConstants.RTS.RTI_TYPE_PEDESTRIAN -> { //行人
appId = V2iEventTypeEnum.TYPE_ID_PEDESTRIAN.poiType
}
MogoObuConstants.RTS.RTI_TYPE_SLIPPERY_ROAD -> { //路滑
appId = V2iEventTypeEnum.TYPE_ID_SLIPPERY_ROAD.poiType
}
MogoObuConstants.RTS.RTI_TYPE_TUNNEL -> { //隧道
appId = V2iEventTypeEnum.TYPE_ID_TUNNEL.poiType
}
MogoObuConstants.RTS.RTI_TYPE_FERRY -> { //渡轮
appId = V2iEventTypeEnum.TYPE_ID_FERRY.poiType
}
MogoObuConstants.RTS.RTI_TYPE_UNEVEN_ROAD -> { //路面不平
appId = V2iEventTypeEnum.TYPE_ID_UNEVEN_ROAD.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NON_MOTOR_VEHICLE -> { //非机动车
appId = V2iEventTypeEnum.TYPE_ID_NON_MOTOR_VEHICLE.poiType
}
MogoObuConstants.RTS.RTI_TYPE_OBSTACLE -> { //障碍
appId = V2iEventTypeEnum.TYPE_ID_OBSTACLE.poiType
}
MogoObuConstants.RTS.RTI_TYPE_CONSTRUCTION -> { //施工
appId = V2iEventTypeEnum.TYPE_FOURS_ROAD_WORK.poiType
}
MogoObuConstants.RTS.RTI_TYPE_VEHICLE_QUEUE -> { //车队
appId = V2iEventTypeEnum.TYPE_VEHICLE_QUEUE.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NO_PASSING -> { //不通
appId = V2iEventTypeEnum.TYPE_NO_PASSING.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NO_TURNING_AROUND -> { //禁止掉头
appId = V2iEventTypeEnum.TYPE_NO_TURNING_AROUND.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NO_STOPPING -> { //禁止停车
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_NO_PARKING.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NO_TOOTING -> { //禁止鸣笛
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType
}
MogoObuConstants.RTS.RTI_TYPE_SPEED_LIMIT -> { //限速
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType
}
MogoObuConstants.RTS.RTI_TYPE_GO_STRAIGHT_TURN_RIGHT -> { //直行或右转
appId = V2iEventTypeEnum.TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType
}
MogoObuConstants.RTS.RTI_TYPE_BUS_WARNING -> { //公交提醒
appId = V2iEventTypeEnum.TYPE_USECASE_ID_BUS_WARNING.poiType
}
MogoObuConstants.RTS.RTI_TYPE_NARROW_RIGHT -> { //右侧变窄/车道数减少
appId = V2iEventTypeEnum.TYPE_USECASE_ID_NARROW_RIGHT.poiType
}
MogoObuConstants.RTS.RTI_TYPE_GAS_STATION -> { //加油站
appId = V2iEventTypeEnum.TYPE_USECASE_ID_GAS_STATION.poiType
}
MogoObuConstants.RTS.RTI_TYPE_SCHOOL -> { //学校
appId =
V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType
}
}
alertContent = V2iEventTypeEnum.getWarningContent(appId)
ttsContent = V2iEventTypeEnum.getWarningTts(appId)
}
// 前方拥堵提醒 TODO
V2iEventTypeEnum.TYPE_USECASE_ID_TJW.poiType -> {
ttsContent = V2iEventTypeEnum.getWarningTts(appId)
alertContent = if (data.warning_Msg[0].distance.toInt() != 0) {
String.format(
V2iEventTypeEnum.getWarningContent(appId),
data.warning_Msg[0].distance.toInt()
)
} else {
"前方拥堵,减速慢行"
MogoObuConstants.RTS.RTI_TYPE_ACCIDENT -> { //事故
appId = V2iEventTypeEnum.TYPE_USECASE_ID_ACCIDENT.poiType
}
}
}
//限速预警 TODO 参考之前的
}
alertContent = V2iEventTypeEnum.getWarningContent(appId)
ttsContent = V2iEventTypeEnum.getWarningTts(appId)
alertContent = String.format(alertContent, data.warningMsg[0].distance.toString(), data.warningMsg[0].eventRadius.toString())
ttsContent = String.format(ttsContent, data.warningMsg[0].distance.toString(), data.warningMsg[0].eventRadius.toString())
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_OBU}",
"ttsContent = $ttsContent --alertContent = $alertContent --appId = $appId ---direction = ${direction.direction} "
@@ -319,7 +376,7 @@ class MogoPrivateObuNewManager private constructor() {
-> {
//显示警告红边
// CallerHmiManager.showWarning(direction)
//显示弹框,语音提示
//显示弹框,语音提示,数据在消息盒子里面展示,此处不在处理弹框
CallerHmiManager.showWarningV2X(
appId,
alertContent,
@@ -342,9 +399,9 @@ class MogoPrivateObuNewManager private constructor() {
// 删除
MogoObuConstants.STATUS.DELETE -> {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 移除顶部弹窗
CallerHmiManager.disableWarningV2X((appId + direction.direction))
// CallerHmiManager.disableWarningV2X((appId + direction.direction))
// 更新数据
TrafficDataConvertUtilsNew.cvxRtiThreatIndInfo2TrafficData(data)?.let {
// 事件结束,还原车辆颜色
@@ -382,8 +439,8 @@ class MogoPrivateObuNewManager private constructor() {
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) {
level = data.m_warning_msg.warningData[0].warningLevel
if (data.warningMsg != null && data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel
}
when (data.status) {

View File

@@ -19,11 +19,10 @@ object TrafficDataConvertUtilsNew {
val TAG = "TrafficDataConvertUtilsNew"
/**
* OBU 远车 转换交通元素数据,是否需要 TODO
* OBU 远车 转换交通元素数据,是否需要
*/
fun cvxRvInfoIndInfo2TrafficData(info: MogoObuRvWarningData): TrafficData? {
if (info.vehBasicsMsg == null) {
Log.e("liyz", "cvxRvInfoIndInfo2TrafficData info.vehBasicsMsg == null ")
CallerLogger.e("$M_OBU$TAG", "cvxRvInfoIndInfo2TrafficData 数据转换异常,请检查参数是否齐全")
return null
}
@@ -42,18 +41,16 @@ object TrafficDataConvertUtilsNew {
* OBU RSU道路事件预警信息 转换交通元素数据 标牌 为何要显示level
*/
fun cvxRtiThreatIndInfo2TrafficData(info: MogoObuRsiWarningData): TrafficData? {
if (info.warning_Msg == null || info.warning_Msg.size < 1 || info.warning_Msg[0].position == null) {
if (info.warningMsg == null || info.warningMsg.size < 1 || info.warningMsg[0].position == null) {
CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全")
Log.e("liyz", "cvxRtiThreatIndInfo2TrafficData info.warning_Msg == null ")
return null
}
val trafficData = TrafficData()
trafficData.type = TrafficTypeEnum.TYPE_TRAFFIC_ID_DAO_LU_SHI_GONG
trafficData.uuid = info.warning_Msg[0].signSerialNum.toString()
trafficData.lat = info.warning_Msg[0].position.latitude
trafficData.lon = info.warning_Msg[0].position.longitude
trafficData.threatLevel = info.warning_Msg[0].warningLevel
Log.e("liyz", "cvxRtiThreatIndInfo2TrafficData trafficData -- ${trafficData.toString()}")
trafficData.uuid = info.warningMsg[0].signSerialNum.toString()
trafficData.lat = info.warningMsg[0].position.latitude
trafficData.lon = info.warningMsg[0].position.longitude
trafficData.threatLevel = info.warningMsg[0].warningLevel
return trafficData
}
@@ -63,7 +60,6 @@ object TrafficDataConvertUtilsNew {
fun cvxV2vThreatIndInfo2TrafficData(info: MogoObuRvWarningData): TrafficData? {
if (info == null || info.vehBasicsMsg == null || info.warningMsg == null) {
CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全")
Log.e("liyz", "cvxV2vThreatIndInfo2TrafficData info == null ")
return null
}
val trafficData = TrafficData()
@@ -80,8 +76,6 @@ object TrafficDataConvertUtilsNew {
}
trafficData.type = TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE
Log.e("liyz", "cvxV2vThreatIndInfo2TrafficData trafficData = ${trafficData.toString()} ")
return trafficData
}
@@ -91,7 +85,6 @@ object TrafficDataConvertUtilsNew {
fun cvxPtcThreatIndInfo2TrafficData(info: MogoObuRsmWarningData): TrafficData? {
if (info.participant == null) {
CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全")
Log.e("liyz", "cvxPtcThreatIndInfo2TrafficData info.participant ")
return null
}
val trafficData = TrafficData()
@@ -131,12 +124,11 @@ object TrafficDataConvertUtilsNew {
val ptcType = 0
// 判断车辆V2X预警级别调整车辆颜色
if (info.m_warning_msg != null && info.m_warning_msg.warningData != null) {
trafficData.threatLevel = info.m_warning_msg.warningData[0].warningLevel
if (info.warningMsg != null && info.warningMsg.warningData != null) {
trafficData.threatLevel = info.warningMsg.warningData[0].warningLevel
} else {
trafficData.threatLevel = 1
}
Log.e("liyz", "cvxPtcThreatIndInfo2TrafficData trafficData = ${trafficData.toString()} ")
return trafficData
}

View File

@@ -12,18 +12,217 @@ enum class V2iEventTypeEnum(
val content: String = "", val tts: String = ""
) {
//施工
FOURS_ROAD_WORK(
"10006", "注意施工占道", "注意施工占道", R.drawable.icon_warning_v2x_road_construction,
"注意施工占道", "注意施工占道"
//-----------道路危险情况预警 start --------------->
TYPE_USECASE_ID_BREAKDOWN_WARNING( //故障车辆
101.toString(),
"车辆故障",
poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning,
content = "前方%s米有故障车辆影响路段%s米",
tts = "前方%s米有故障车辆影响路段%s米"
),
FOURS_PONDING( //积水
407.toString(),
"道路积水",
poiTypeSrcVr = R.drawable.v2x_icon_jishui_vr,
content = "前方%s米道路积水影响路段%s米",
tts ="前方%s米道路积水影响路段%s米"
),
TYPE_USECASE_ID_ROAD_PARKING( //异常停车
412.toString(),
"异常停车",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米异常停车影响路段%s米",
tts = "前方%s米异常停车影响路段%s米"
),
TYPE_USECASE_ID_TJW( //%d
707.toString(),
"拥堵",
poiTypeSrcVr = R.drawable.icon_warning_v2x_congestion,
content = "前方%s米拥堵影响路段%s米",
tts = "前方%s米拥堵影响路段%s米"
),
TYPE_USECASE_ID_SLW( //超速行驶
901.toString(),
"超速行驶",
poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed,
content = "前方%s米超速行驶影响路段%s米",
tts = "前方%s米超速行驶影响路段%s米"
),
TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE( //车辆逆行
904.toString(),
"逆行车辆",
poiTypeSrcVr = R.drawable.icon_warning_v2x_school,
content = "前方%s米逆行车辆影响路段%s米",
tts = "前方%s米逆行车辆影响路段%s米"
),
//------------道路危险情况预警 end ----------->
//------------车内标牌 start -------------->
TYPE_ID_NTERSECTION(
1.toString(),
"十字路口",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米十字路口影响路段%s米",
tts = "前方%s米十字路口影响路段%s米"
),
TYPE_ID_SHAPR_TURNS(
2.toString(),
"急转弯",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米急转弯影响路段%s米",
tts = "前方%s米急转弯影响路段%s米"
),
TYPE_ID_BRIDGE(
8.toString(),
"桥梁",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米桥梁影响路段%s米",
tts = "前方%s米桥梁影响路段%s米"
),
TYPE_ID_PEDESTRIAN(
10.toString(),
"行人",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米行人影响路段%s米",
tts = "前方%s米行人影响路段%s米"
),
TYPE_ID_SLIPPERY_ROAD(
17.toString(),
"路滑",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米路滑影响路段%s米",
tts = "前方%s米路滑影响路段%s米"
),
TYPE_ID_TUNNEL(
21.toString(),
"隧道",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米隧道影响路段%s米",
tts = "前方%s米隧道影响路段%s米"
),
TYPE_ID_FERRY(
22.toString(),
"渡轮",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米渡轮影响路段%s米",
tts = "前方%s米渡轮影响路段%s米"
),
TYPE_ID_UNEVEN_ROAD(
24.toString(),
"路面不平",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米路面不平影响路段%s米",
tts = "前方%s米路面不平影响路段%s米"
),
TYPE_ID_NON_MOTOR_VEHICLE(
32.toString(),
"非机动车",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米有非机动车影响路段%s米",
tts = "前方%s米有非机动车影响路段%s米"
),
TYPE_ID_OBSTACLE(
36.toString(),
"障碍",
poiTypeSrcVr = R.drawable.icon_warning_v2x_tramcar,
content = "前方%s米障碍影响路段%s米",
tts = "前方%s米障碍影响路段%s米"
),
TYPE_FOURS_ROAD_WORK(
38.toString(),
"施工",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction,
content = "前方%s米施工影响路段%s米",
tts = "前方%s米施工影响路段%s米"
),
TYPE_VEHICLE_QUEUE(
47.toString(),
"车队",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction,
content = "前方%s米车队影响路段%s米",
tts = "前方%s米车队影响路段%s米"
),
TYPE_NO_PASSING(
51.toString(),
"不通",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction,
content = "前方%s米不通影响路段%s米",
tts = "前方%s米不通影响路段%s米"
),
TYPE_NO_TURNING_AROUND(
75.toString(),
"禁止掉头",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_construction,
content = "前方%s米禁止掉头影响路段%s米",
tts = "前方%s米禁止掉头影响路段%s米"
),
TYPE_USECASE_ID_ROAD_NO_PARKING(
78.toString(),
"禁止停车",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米禁止停车影响路段%s米",
tts = "前方%s米禁止停车影响路段%s米"
),
TYPE_USECASE_ID_ROAD_NO_TOOTING(
80.toString(),
"禁止鸣笛",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米禁止鸣笛影响路段%s米",
tts = "前方%s米禁止鸣笛影响路段%s米"
),
TYPE_USECASE_ID_ROAD_SPEED_LIMIT(
85.toString(),
"限速",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米限速影响路段%s米",
tts = "前方%s米限速影响路段%s米"
),
TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT(
100.toString(),
"直行或右转",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米直行或右转影响路段%s米",
tts = "前方%s米直行或右转影响路段%s米"
),
TYPE_USECASE_ID_BUS_WARNING(
123.toString(),
"公交提醒",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米公交提醒影响路段%s米",
tts = "前方%s米公交提醒影响路段%s米"
),
TYPE_USECASE_ID_NARROW_RIGHT(
163.toString(),
"右侧变窄/车道数减少",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米右侧变窄/车道数减少,影响路段%s米",
tts = "前方%s米右侧变窄/车道数减少,影响路段%s米"
),
TYPE_USECASE_ID_GAS_STATION(
201.toString(),
"加油站",
poiTypeSrcVr = R.drawable.icon_warning_v2x_no_parking,
content = "前方%s米加油站影响路段%s米",
tts = "前方%s米加油站影响路段%s米"
),
TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL(
242.toString(),
"学校",
poiTypeSrcVr = R.drawable.icon_warning_v2x_school,
content = "前方%s米学校影响路段%s米",
tts = "前方%s米学校影响路段%s米"
),
//积水
FOURS_PONDING(
"10008", "道路积水", "前方道路积水", R.drawable.v2x_icon_jishui_vr,
"前方道路积水", "道路积水"
TYPE_USECASE_ID_ACCIDENT(
244.toString(),
"事故",
poiTypeSrcVr = R.drawable.icon_warning_v2x_school,
content = "前方%s米事故影响路段%s米",
tts = "前方%s米事故影响路段%s米"
),
//------------车内标牌 end -------------->
TYPE_USECASE_ID_IVS(
0x2B07.toString(),
"车内标牌",
@@ -31,29 +230,13 @@ enum class V2iEventTypeEnum(
content = "车内标牌",
tts = ""
),
TYPE_USECASE_ID_TJW(
0x2B08.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(
0x2B04.toString(),
"道路危险情况预警",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous,
content = "道路危险情况预警",
tts = "前方路况危险,小心行驶"
"道路危险情况预警",
poiTypeSrcVr = R.drawable.icon_warning_v2x_road_dangerous,
content = "道路危险情况预警",
tts = "前方路况危险,小心行驶"
),//(如果能给出具体的类别,则播报具体危险类别)
TYPE_USECASE_ID_IVP(
@@ -71,47 +254,6 @@ enum class V2iEventTypeEnum(
tts = "建议车速 %s KM/H"
),
//6种智行杯的场景需添加
TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE(
904.toString(),
"注意逆行车辆",
poiTypeSrcVr = R.drawable.icon_warning_v2x_school,
content = "注意逆行车辆",
tts = "注意逆行车辆"
),
TYPE_USECASE_ID_SLW(
901.toString(),
"注意超速车辆",
poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed,
content = "注意超速车辆",
tts = "注意超速车辆"
),
TYPE_USECASE_ID_BREAKDOWN_WARNING(
101.toString(),
"注意故障车辆",
poiTypeSrcVr = R.drawable.icon_warning_v2x_collision_warning,
content = "注意故障车辆",
tts = "注意故障车辆"
),
TYPE_USECASE_ID_ROAD_PARKING(
412.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(),
"人行横道",
@@ -119,48 +261,6 @@ enum class V2iEventTypeEnum(
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(
0.toString(),
@@ -175,13 +275,12 @@ enum class V2iEventTypeEnum(
companion object {
//===================告警类事件===================
@JvmStatic
fun getTts(poiType: String?): String {
return when (poiType) {
FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts
else -> "道路事件"
}
}
@@ -194,17 +293,39 @@ enum class V2iEventTypeEnum(
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_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.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_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.poiTypeSrcVr
TYPE_ERROR.poiType -> TYPE_ERROR.poiTypeSrcVr
TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeSrcVr
TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.poiTypeSrcVr
FOURS_PONDING.poiType -> FOURS_PONDING.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiTypeSrcVr
TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.poiTypeSrcVr
TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.poiTypeSrcVr
TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.poiTypeSrcVr
TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.poiTypeSrcVr
TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.poiTypeSrcVr
TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.poiTypeSrcVr
TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.poiTypeSrcVr
TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.poiTypeSrcVr
TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.poiTypeSrcVr
TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.poiTypeSrcVr
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.poiTypeSrcVr
TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.poiTypeSrcVr
TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.poiTypeSrcVr
TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiTypeSrcVr
TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiTypeSrcVr
TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.poiTypeSrcVr
TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.poiTypeSrcVr
TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.poiTypeSrcVr
TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeSrcVr
TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.poiTypeSrcVr
else -> TYPE_ERROR.poiTypeSrcVr
}
}
@@ -217,18 +338,41 @@ enum class V2iEventTypeEnum(
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_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.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_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.content
TYPE_ERROR.poiType -> TYPE_ERROR.content
FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.content
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.content
TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.content
TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.content
FOURS_PONDING.poiType -> FOURS_PONDING.content
TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.content
TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.content
TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.content
TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.content
TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.content
TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.content
TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.content
TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.content
TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.content
TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.content
TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.content
TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.content
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.content
TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.content
TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.content
TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.content
TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.content
TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.content
TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.content
TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.content
TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.content
TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.content
TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.content
TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.content
TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.content
else -> TYPE_ERROR.content
}
}
@@ -241,18 +385,40 @@ enum class V2iEventTypeEnum(
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_ROAD_TRAMCAR.poiType -> TYPE_USECASE_ID_ROAD_TRAMCAR.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_VIP_IDENTIFICATION.poiType -> TYPE_VIP_IDENTIFICATION.tts
TYPE_ERROR.poiType -> TYPE_ERROR.tts
FOURS_ROAD_WORK.poiType -> FOURS_ROAD_WORK.tts
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts
TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType -> TYPE_OPTIMAL_ROUTE_RECOMMEND.tts
TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType -> TYPE_USECASE_ID_BREAKDOWN_WARNING.tts
FOURS_PONDING.poiType -> FOURS_PONDING.tts
TYPE_USECASE_ID_ROAD_PARKING.poiType -> TYPE_USECASE_ID_ROAD_PARKING.tts
TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType -> TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.tts
TYPE_ID_NTERSECTION.poiType -> TYPE_ID_NTERSECTION.tts
TYPE_ID_SHAPR_TURNS.poiType -> TYPE_ID_SHAPR_TURNS.tts
TYPE_ID_BRIDGE.poiType -> TYPE_ID_BRIDGE.tts
TYPE_ID_PEDESTRIAN.poiType -> TYPE_ID_PEDESTRIAN.tts
TYPE_ID_SLIPPERY_ROAD.poiType -> TYPE_ID_SLIPPERY_ROAD.tts
TYPE_ID_TUNNEL.poiType -> TYPE_ID_TUNNEL.tts
TYPE_ID_FERRY.poiType -> TYPE_ID_FERRY.tts
TYPE_ID_UNEVEN_ROAD.poiType -> TYPE_ID_UNEVEN_ROAD.tts
TYPE_ID_NON_MOTOR_VEHICLE.poiType -> TYPE_ID_NON_MOTOR_VEHICLE.tts
TYPE_ID_OBSTACLE.poiType -> TYPE_ID_OBSTACLE.tts
TYPE_FOURS_ROAD_WORK.poiType -> TYPE_FOURS_ROAD_WORK.tts
TYPE_VEHICLE_QUEUE.poiType -> TYPE_VEHICLE_QUEUE.tts
TYPE_NO_PASSING.poiType -> TYPE_NO_PASSING.tts
TYPE_NO_TURNING_AROUND.poiType -> TYPE_NO_TURNING_AROUND.tts
TYPE_USECASE_ID_ROAD_NO_PARKING.poiType -> TYPE_USECASE_ID_ROAD_NO_PARKING.tts
TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType -> TYPE_USECASE_ID_ROAD_NO_TOOTING.tts
TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType -> TYPE_USECASE_ID_ROAD_SPEED_LIMIT.tts
TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.poiType -> TYPE_USECASE_ID_GO_STRAIGHT_TURN_RIGHT.tts
TYPE_USECASE_ID_BUS_WARNING.poiType -> TYPE_USECASE_ID_BUS_WARNING.tts
TYPE_USECASE_ID_NARROW_RIGHT.poiType -> TYPE_USECASE_ID_NARROW_RIGHT.tts
TYPE_USECASE_ID_GAS_STATION.poiType -> TYPE_USECASE_ID_GAS_STATION.tts
TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType -> TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.tts
TYPE_USECASE_ID_ACCIDENT.poiType -> TYPE_USECASE_ID_ACCIDENT.tts
else -> TYPE_ERROR.tts
}
}