From f0a2a20460b8a076a2ddccade46b1cf0bcf411b6 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 4 Apr 2023 19:26:07 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Frobobus-d=5F230322=5F3.0.0]=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=92=E5=AD=90V2X=E5=B8=83=E5=B1=80=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/layout/taxi_p_base_fragment.xml | 1 - .../function/hmi/ui/msgbox/MBoxBubbleView.kt | 3 + .../BusPassengerMsgBoxBubbleAdapter.kt | 2 + .../adapter/DriverMsgBoxBubbleAdapter.kt | 2 + .../msgbox/adapter/DriverMsgBoxListAdapter.kt | 2 + .../ui/msgbox/adapter/MBoxBubbleAdapter.kt | 2 + .../ui/msgbox/adapter/MMsgBoxBubbleAdapter.kt | 2 + .../ui/msgbox/adapter/MMsgBoxListAdapter.kt | 2 + .../adapter/PassengerMsgBoxBubbleAdapter.kt | 2 + .../adapter/PassengerMsgBoxListAdapter.kt | 2 + .../res/drawable-xhdpi/bg_msg_box_v2x.png | Bin 0 -> 29866 bytes .../src/main/res/layout/item_bus_box_v2x.xml | 30 +- .../src/main/res/layout/item_m_box_notice.xml | 2 +- .../main/res/layout/item_m_box_operation.xml | 2 +- .../src/main/res/layout/item_m_box_v2x.xml | 30 +- .../main/res/layout/item_m_msg_box_v2x.xml | 32 +- .../main/res/layout/item_m_msg_list_v2x.xml | 32 +- .../src/main/res/layout/item_msg_box_v2x.xml | 31 +- .../main/res/layout/item_msg_bubble_v2x.xml | 36 +- .../res/layout/item_passenger_msg_box_v2x.xml | 32 +- .../layout/item_passenger_msg_list_v2x.xml | 30 +- .../main/res/layout/layout_m_box_bubble.xml | 2 +- .../eagle/core/data/enums/EventTypeEnumNew.kt | 335 +++++++++++++++++- 23 files changed, 508 insertions(+), 106 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_msg_box_v2x.png diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml index 2fb2529505..1c159a3073 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -91,7 +91,6 @@ android:layout_width="650dp" android:layout_height="wrap_content" android:layout_marginBottom="20dp" - android:visibility="gone" app:layout_constraintBottom_toTopOf="@id/viewPassengerMsgBoxButton" app:layout_constraintLeft_toLeftOf="@id/viewPassengerMsgBoxButton" app:layout_constraintRight_toRightOf="@id/viewPassengerMsgBoxButton" /> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt index 42ff1b43d0..42f7fa8178 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MBoxBubbleView.kt @@ -19,6 +19,9 @@ import com.mogo.eagle.core.function.msgbox.MsgBoxConfig import com.mogo.eagle.core.utilcode.util.UiThreadHandler import kotlinx.android.synthetic.main.layout_m_box_bubble.view.* +/** + * M2气泡态消息盒子 + */ class MBoxBubbleView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/BusPassengerMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/BusPassengerMsgBoxBubbleAdapter.kt index a64c894066..196baac151 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/BusPassengerMsgBoxBubbleAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/BusPassengerMsgBoxBubbleAdapter.kt @@ -80,6 +80,7 @@ class BusPassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerV holder.tvBusPV2XContent.text = v2XMsg.content holder.ivBusPV2XImage.setImageDrawable(activity.resources.getDrawable( EventTypeEnumNew.getUpdateIconRes(v2XMsg.type))) + holder.tvBusPV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) } } } @@ -125,6 +126,7 @@ class BusPassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerV var ivBusPV2XImage: ImageView = itemView.findViewById(R.id.ivBusPV2XImage) var tvBusPV2XTime: TextView = itemView.findViewById(R.id.tvBusPV2XTime) var tvBusPV2XContent: TextView = itemView.findViewById(R.id.tvBusPV2XContent) + var tvBusPV2XTitle: TextView = itemView.findViewById(R.id.tvBusPV2XTitle) } //运营消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt index 466e5bf5a6..408fb9fcf3 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt @@ -181,6 +181,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A holder.clV2XLayout.setOnClickListener { CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean) } + holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) } } is BubbleSummaryHolder -> { @@ -275,6 +276,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A var tvV2XTime: TextView = itemView.findViewById(R.id.tvV2XTime) var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent) var clV2XLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clV2XLayout) + var tvV2XTitle: TextView = itemView.findViewById(R.id.tvV2XTitle) } //汇总消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt index 6c27709cbf..a31166ff14 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt @@ -369,6 +369,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable( EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)) ) + holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) } } is MsgBoxSummary -> { @@ -472,6 +473,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : var ivV2XImage: ImageView = itemView.findViewById(R.id.ivV2XImage) var tvV2XTime: TextView = itemView.findViewById(R.id.tvV2XTime) var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent) + var tvV2XTitle: TextView = itemView.findViewById(R.id.tvV2XTitle) } //汇总消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MBoxBubbleAdapter.kt index 83842d19e9..ef6669cb99 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MBoxBubbleAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MBoxBubbleAdapter.kt @@ -82,6 +82,7 @@ class MBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter { @@ -179,6 +180,7 @@ class MMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter var tvMV2XTime: TextView = itemView.findViewById(R.id.tvMV2XTime) var tvMV2XContent: TextView = itemView.findViewById(R.id.tvMV2XContent) var clMVeXLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clMVeXLayout) + var tvMV2XTitle: TextView = itemView.findViewById(R.id.tvMV2XTitle) } //汇总消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MMsgBoxListAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MMsgBoxListAdapter.kt index 62172a1ff6..aa1ef8a854 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MMsgBoxListAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/MMsgBoxListAdapter.kt @@ -100,6 +100,7 @@ class MMsgBoxListAdapter(private val activity: Activity): RecyclerView.Adapter { @@ -155,6 +156,7 @@ class MMsgBoxListAdapter(private val activity: Activity): RecyclerView.Adapter { @@ -167,6 +168,7 @@ class PassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView var tvPassengerV2XTime: TextView = itemView.findViewById(R.id.tvPassengerV2XTime) var tvPassengerV2XContent: TextView = itemView.findViewById(R.id.tvPassengerV2XContent) var clPassengerVeXLayout: RoundCanClickConstraintLayout = itemView.findViewById(R.id.clPassengerVeXLayout) + var tvPassengerV2XTitle: TextView = itemView.findViewById(R.id.tvPassengerV2XTitle) } //汇总消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxListAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxListAdapter.kt index 3db034d364..21ae03bffc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxListAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxListAdapter.kt @@ -97,6 +97,7 @@ class PassengerMsgBoxListAdapter(private val activity: Activity): RecyclerView.A holder.tvPassengerV2XContent.text = v2XMsg.content holder.ivPassengerV2XImage.setImageDrawable(activity.resources.getDrawable( EventTypeEnumNew.getUpdateIconRes(v2XMsg.type))) + holder.tvPassengerV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) } } is ListSummaryHolder -> { @@ -140,6 +141,7 @@ class PassengerMsgBoxListAdapter(private val activity: Activity): RecyclerView.A var ivPassengerV2XImage: ImageView = itemView.findViewById(R.id.ivPassengerV2XImage) var tvPassengerV2XTime: TextView = itemView.findViewById(R.id.tvPassengerV2XTime) var tvPassengerV2XContent: TextView = itemView.findViewById(R.id.tvPassengerV2XContent) + var tvPassengerV2XTitle: TextView = itemView.findViewById(R.id.tvPassengerV2XTitle) } //汇总消息 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_msg_box_v2x.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_msg_box_v2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d41c75bc33019166f8f2414fb1848df07def69f7 GIT binary patch literal 29866 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 HH-i5U&+tW$ literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_bus_box_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_bus_box_v2x.xml index 1c4c09f901..d787ce3fb9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_bus_box_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_bus_box_v2x.xml @@ -19,14 +19,26 @@ android:layout_marginStart="@dimen/dp_26" /> + + @@ -35,16 +47,14 @@ android:id="@+id/tvBusPV2XContent" android:layout_width="0dp" android:layout_height="wrap_content" - app:layout_constraintTop_toTopOf="parent" + app:layout_constraintLeft_toLeftOf="@id/tvBusPV2XTitle" + app:layout_constraintRight_toRightOf="@id/tvBusPV2XTime" + app:layout_constraintTop_toBottomOf="@id/tvBusPV2XTitle" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toRightOf="@id/ivBusPV2XImage" - app:layout_constraintRight_toLeftOf="@id/tvBusPV2XTime" - android:layout_marginStart="@dimen/dp_26" - android:layout_marginEnd="@dimen/dp_16" - android:textColor="#FF203555" - android:textSize="@dimen/dp_36" + android:textColor="#CC203555" + android:textSize="@dimen/dp_28" android:gravity="start" - android:maxLines="1" + android:maxLines="2" android:ellipsize="end" /> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_box_notice.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_box_notice.xml index 4f6a9e0465..75d41bf8bf 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_box_notice.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_box_notice.xml @@ -1,6 +1,6 @@ + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_box_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_box_v2x.xml index 27ae52a175..6f5eb37a39 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_box_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_box_v2x.xml @@ -19,12 +19,25 @@ android:layout_marginStart="@dimen/dp_13" /> + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_list_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_list_v2x.xml index deddc8f6e2..37f11a7689 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_list_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_m_msg_list_v2x.xml @@ -14,12 +14,25 @@ android:layout_marginStart="@dimen/dp_16" /> + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_v2x.xml index ef36f539a0..394a6676bb 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_box_v2x.xml @@ -3,8 +3,7 @@ android:layout_width="804dp" android:layout_height="160dp" xmlns:app="http://schemas.android.com/apk/res-auto" - android:background="#53000000" - app:roundLayoutRadius="24dp" + android:background="@drawable/bg_msg_box_v2x" android:layout_gravity="center_horizontal" android:layout_marginStart="30dp" android:layout_marginEnd="30dp" @@ -20,11 +19,24 @@ app:layout_constraintLeft_toLeftOf="parent" android:layout_margin="25dp"/> + + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_v2x.xml index 9888e42f87..80adf656b8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_msg_bubble_v2x.xml @@ -1,14 +1,14 @@ + android:layout_marginBottom="7dp" + > + + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml index fbe95e1a36..3aae086477 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml @@ -20,32 +20,42 @@ /> + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_list_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_list_v2x.xml index a323fe7515..227d4c0f8d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_list_v2x.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_list_v2x.xml @@ -14,31 +14,41 @@ /> + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_m_box_bubble.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_m_box_bubble.xml index f70a509ba8..7bfd821501 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_m_box_bubble.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/layout_m_box_bubble.xml @@ -1,7 +1,7 @@ diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index 9ae652a8c6..c71dadc7b8 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -108,24 +108,24 @@ enum class EventTypeEnumNew( //接管 TAKE_OVER_EVENT( - "20000", "注意周围、立即接管", "注意周围、立即接管", R.drawable.icon_warning_take_over, + "20000", "接管", "注意周围、立即接管", R.drawable.icon_warning_take_over, "注意周围、立即接管", "自动驾驶退出请立即接管" ), // 前方静止or慢速车辆报警 - ALERT_FRONT_CAR("99999"), + ALERT_FRONT_CAR("99999","前方预警"), // 限行管理 ALERT_TRAFFIC_CONTROL("99998"), // 红绿灯事件、是建议以多少速度驶过 - ALERT_TRAFFIC_LIGHT_SUGGEST("99997"), + ALERT_TRAFFIC_LIGHT_SUGGEST("99997","红绿灯"), // 红绿灯事件、一种是绿灯不足3秒 - ALERT_TRAFFIC_LIGHT_WARNING("99996"), + ALERT_TRAFFIC_LIGHT_WARNING("99996","红绿灯"), // 故障车辆 - ALERT_CAR_TROUBLE_WARNING("20007"), + ALERT_CAR_TROUBLE_WARNING("20007","故障车辆"), // 疲劳驾驶 ALERT_FATIGUE_DRIVING("99993"), @@ -219,28 +219,28 @@ enum class EventTypeEnumNew( //---------弱势交通参与者 obu and cloud start ------> TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES( 1001.toString(), - "弱势交通参与者碰撞预警", + "碰撞预警", poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, content = "前方摩托车", tts = "前方摩托车" ), TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES( 1002.toString(), - "弱势交通参与者碰撞预警", + "碰撞预警", poiTypeSrcVr = R.drawable.icon_warning_v2x_motobike, content = "前方非机动车", tts = "前方非机动车" ), TYPE_USECASE_ID_VRUCW_PERSON( 1003.toString(), - "弱势交通参与者碰撞预警", + "碰撞预警", poiTypeSrcVr = R.drawable.icon_warning_v2x_pedestrian_crossing, content = "前方行人", tts = "前方行人" ), TYPE_ERROR_WEAKNESS( 1006.toString(), - "未知/错误/异常", + "未知障碍物", poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle, content = "前方未知障碍物闯入", tts = "前方未知障碍物闯入" @@ -397,7 +397,7 @@ enum class EventTypeEnumNew( ), TYPE_NO_PASSING( 51.toString(), - "不通", + "道路不通", poiTypeSrcVr = R.drawable.v2x_icon_fenglu_vr, content = "前方%s米不通", tts = "前方%s米不通" @@ -470,7 +470,7 @@ enum class EventTypeEnumNew( TYPE_SOCKET_ROAD_JINGZHI( "100251", - "前方%s米静止障碍物占道", + "静止障碍物占道", poiTypeSrcVr = R.drawable.v2x_icon_jingzhi_zhangai, content = "前方%s米静止障碍物占道", tts = "前方%s米静止障碍物占道" @@ -478,7 +478,7 @@ enum class EventTypeEnumNew( TYPE_SOCKET_ROAD_SHIGU( "100321", - "前方%s米道路事故", + "道路事故", poiTypeSrcVr = R.drawable.v2x_icon_shigu_sanjiaopai, content = "前方%s米道路事故", tts = "前方%s米道路事故" @@ -486,7 +486,7 @@ enum class EventTypeEnumNew( TYPE_SOCKET_ROAD_SHIGONG( "100061", - "前方%s米道路施工", + "道路施工", poiTypeSrcVr = R.drawable.v2x_icon_shigong_zhandao, content = "前方%s米道路施工", tts = "前方%s米道路施工" @@ -500,10 +500,10 @@ enum class EventTypeEnumNew( tts = "" ), - TYPE_VIP_IDENTIFICATION_PASS("20022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您变为绿灯", "VIP车辆优先通行,已为您变为绿灯"), - TYPE_VIP_IDENTIFICATION_EXTEND("20023", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您延长绿灯", "VIP车辆优先通行,已为您延长绿灯"), - TYPE_VIP_ERROR_IDENTIFICATION("20024", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,稍后重试"), - TYPE_OPTIMAL_ROUTE_RECOMMEND("2000", "", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线"); + TYPE_VIP_IDENTIFICATION_PASS("20022", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您变为绿灯", "VIP车辆优先通行,已为您变为绿灯"), + TYPE_VIP_IDENTIFICATION_EXTEND("20023", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您延长绿灯", "VIP车辆优先通行,已为您延长绿灯"), + TYPE_VIP_ERROR_IDENTIFICATION("20024", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,稍后重试"), + TYPE_OPTIMAL_ROUTE_RECOMMEND("2000", "路线推荐", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线"); companion object { @@ -706,6 +706,307 @@ enum class EventTypeEnumNew( } } + @JvmStatic + fun getEventTitle(poiType: String?): String{ + return when(poiType){ + //交通检查 + TRAFFIC_CHECK.poiType ->{ + TRAFFIC_CHECK.poiTypeStr + } + //封路 + ROAD_CLOSED.poiType ->{ + ROAD_CLOSED.poiTypeStr + } + //施工 + FOURS_ROAD_WORK.poiType ->{ + FOURS_ROAD_WORK.poiTypeStr + } + //道路施工 + TYPE_SOCKET_ROAD_SHIGONG.poiType ->{ + TYPE_SOCKET_ROAD_SHIGONG.poiTypeStr + } + //静止障碍物占道 + TYPE_SOCKET_ROAD_JINGZHI.poiType ->{ + TYPE_SOCKET_ROAD_JINGZHI.poiTypeStr + } + //道路事故 + TYPE_SOCKET_ROAD_SHIGU.poiType ->{ + TYPE_SOCKET_ROAD_SHIGU.poiTypeStr + } + //交通拥堵 + TYPE_SOCKET_ROAD_CONGESTION.poiType ->{ + TYPE_SOCKET_ROAD_CONGESTION.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.poiTypeStr + } + //重大事故 + FOURS_ACCIDENT_01.poiType ->{ + FOURS_ACCIDENT_01.poiTypeStr + } + //特大事故 + FOURS_ACCIDENT_02.poiType ->{ + FOURS_ACCIDENT_02.poiTypeStr + } + //较大事故 + FOURS_ACCIDENT_03.poiType ->{ + FOURS_ACCIDENT_03.poiTypeStr + } + //一般事故 + FOURS_ACCIDENT_04.poiType ->{ + FOURS_ACCIDENT_04.poiTypeStr + } + //轻微事故 + FOURS_ACCIDENT_05.poiType ->{ + FOURS_ACCIDENT_05.poiTypeStr + } + //事故 + FOURS_LIVING.poiType ->{ + FOURS_LIVING.poiTypeStr + } + //红绿灯数据 + ALERT_TRAFFIC_LIGHT_SUGGEST.poiType ->{ + ALERT_TRAFFIC_LIGHT_SUGGEST.poiTypeStr + } + //红绿灯数据 + ALERT_TRAFFIC_LIGHT_WARNING.poiType ->{ + ALERT_TRAFFIC_LIGHT_WARNING.poiTypeStr + } + //前方静止or慢速车辆报警 + ALERT_FRONT_CAR.poiType ->{ + ALERT_FRONT_CAR.poiTypeStr + } + // 故障车辆 + ALERT_CAR_TROUBLE_WARNING.poiType ->{ + ALERT_CAR_TROUBLE_WARNING.poiTypeStr + } + //VIP车辆优先通行,已为您变为绿灯 + TYPE_VIP_IDENTIFICATION_PASS.poiType ->{ + TYPE_VIP_IDENTIFICATION_PASS.poiTypeStr + } + //VIP车辆优先通行,已为您延长绿灯 + TYPE_VIP_IDENTIFICATION_EXTEND.poiType ->{ + TYPE_VIP_IDENTIFICATION_EXTEND.poiTypeStr + } + //VIP变灯请求失败 + TYPE_VIP_ERROR_IDENTIFICATION.poiType ->{ + TYPE_VIP_ERROR_IDENTIFICATION.poiTypeStr + } + //最优路线 + TYPE_OPTIMAL_ROUTE_RECOMMEND.poiType ->{ + TYPE_OPTIMAL_ROUTE_RECOMMEND.poiTypeStr + } + //绿波通行 + TYPE_USECASE_ID_IVP_GREEN.poiType ->{ + TYPE_USECASE_ID_IVP_GREEN.poiTypeStr + } + //闯红灯预警 + TYPE_USECASE_ID_IVP_RED.poiType ->{ + TYPE_USECASE_ID_IVP_RED.poiTypeStr + } + //鬼探头类型 + GHOST_PROBE.poiType ->{ + GHOST_PROBE.poiTypeStr + } + //接管 + TAKE_OVER_EVENT.poiType ->{ + TAKE_OVER_EVENT.poiTypeStr + } + //机动车 + TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType ->{ + TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiTypeStr + } + //碰撞预警 + TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES.poiType ->{ + TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES.poiTypeStr + } + //碰撞预警 + TYPE_USECASE_ID_VRUCW_PERSON.poiType ->{ + TYPE_USECASE_ID_VRUCW_PERSON.poiTypeStr + } + //未知障碍物 + TYPE_ERROR_WEAKNESS.poiType ->{ + TYPE_ERROR_WEAKNESS.poiTypeStr + } + //学校 + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType ->{ + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeStr + } + //禁止停车 + TYPE_USECASE_ID_ROAD_NO_PARKING.poiType ->{ + TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeStr + } + //超速行驶 + TYPE_USECASE_ID_SLW.poiType ->{ + TYPE_USECASE_ID_SLW.poiTypeStr + } + //拥堵 + TYPE_USECASE_ID_TJW.poiType ->{ + TYPE_USECASE_ID_TJW.poiTypeStr + } + //车辆故障 + TYPE_USECASE_ID_BREAKDOWN_WARNING.poiType ->{ + TYPE_USECASE_ID_BREAKDOWN_WARNING.poiTypeStr + } + //道路积水 + FOURS_PONDING.poiType ->{ + FOURS_PONDING.poiTypeStr + } + //异常停车 + TYPE_USECASE_ID_ROAD_PARKING.poiType ->{ + TYPE_USECASE_ID_ROAD_PARKING.poiTypeStr + } + //逆行车辆 + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiType ->{ + TYPE_USECASE_ID_ROAD_VEHICLE_RETROGRADE.poiTypeStr + } + //急转弯 + TYPE_ID_SHAPR_TURNS.poiType ->{ + TYPE_ID_SHAPR_TURNS.poiTypeStr + } + //桥梁 + TYPE_ID_BRIDGE.poiType ->{ + TYPE_ID_BRIDGE.poiTypeStr + } + //行人 + TYPE_ID_PEDESTRIAN.poiType ->{ + TYPE_ID_PEDESTRIAN.poiTypeStr + } + //路滑 + TYPE_ID_SLIPPERY_ROAD.poiType ->{ + TYPE_ID_SLIPPERY_ROAD.poiTypeStr + } + //隧道 + TYPE_ID_TUNNEL.poiType ->{ + TYPE_ID_TUNNEL.poiTypeStr + } + //渡轮 + TYPE_ID_FERRY.poiType ->{ + TYPE_ID_FERRY.poiTypeStr + } + //路面不平 + TYPE_ID_UNEVEN_ROAD.poiType ->{ + TYPE_ID_UNEVEN_ROAD.poiTypeStr + } + //非机动车 + TYPE_ID_NON_MOTOR_VEHICLE.poiType ->{ + TYPE_ID_NON_MOTOR_VEHICLE.poiTypeStr + } + //障碍 + TYPE_ID_OBSTACLE.poiType ->{ + TYPE_ID_OBSTACLE.poiTypeStr + } + //施工 + TYPE_FOURS_ROAD_WORK.poiType ->{ + TYPE_FOURS_ROAD_WORK.poiTypeStr + } + //车队 + TYPE_VEHICLE_QUEUE.poiType ->{ + TYPE_VEHICLE_QUEUE.poiTypeStr + } + //道路不通 + TYPE_NO_PASSING.poiType ->{ + TYPE_NO_PASSING.poiTypeStr + } + //禁止掉头 + TYPE_NO_TURNING_AROUND.poiType ->{ + TYPE_NO_TURNING_AROUND.poiTypeStr + } + //禁止停车 + TYPE_USECASE_ID_ROAD_NO_PARKING.poiType ->{ + TYPE_USECASE_ID_ROAD_NO_PARKING.poiTypeStr + } + //禁止鸣笛 + TYPE_USECASE_ID_ROAD_NO_TOOTING.poiType ->{ + TYPE_USECASE_ID_ROAD_NO_TOOTING.poiTypeStr + } + //超速 + TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiType ->{ + TYPE_USECASE_ID_ROAD_SPEED_LIMIT.poiTypeStr + } + //公交提醒 + TYPE_USECASE_ID_BUS_WARNING.poiType ->{ + TYPE_USECASE_ID_BUS_WARNING.poiTypeStr + } + //右侧变窄/车道数减少 + TYPE_USECASE_ID_NARROW_RIGHT.poiType ->{ + TYPE_USECASE_ID_NARROW_RIGHT.poiTypeStr + } + //加油站 + TYPE_USECASE_ID_GAS_STATION.poiType ->{ + TYPE_USECASE_ID_GAS_STATION.poiTypeStr + } + //学校 + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiType ->{ + TYPE_USECASE_ID_ROAD_PEDESTRIAN_SCHOOL.poiTypeStr + } + //交通事故 + TYPE_USECASE_ID_ACCIDENT.poiType ->{ + TYPE_USECASE_ID_ACCIDENT.poiTypeStr + } + //紧急制动预警 + TYPE_USECASE_ID_EBW.poiType ->{ + TYPE_USECASE_ID_EBW.poiTypeStr + } + //前向碰撞预警 + TYPE_USECASE_ID_FCW.poiType ->{ + TYPE_USECASE_ID_FCW.poiTypeStr + } + //交叉路口碰撞预警 + TYPE_USECASE_ID_ICW.poiType ->{ + TYPE_USECASE_ID_ICW.poiTypeStr + } + //车辆失控预警 + TYPE_USECASE_ID_CLW.poiType ->{ + TYPE_USECASE_ID_CLW.poiTypeStr + } + //逆向超车预警 + TYPE_USECASE_ID_DNPW.poiType ->{ + TYPE_USECASE_ID_DNPW.poiTypeStr + } + //异常车辆提醒 + TYPE_USECASE_ID_AVW.poiType ->{ + TYPE_USECASE_ID_AVW.poiTypeStr + } + //盲区预警 + TYPE_USECASE_ID_BSW.poiType ->{ + TYPE_USECASE_ID_BSW.poiTypeStr + } + //变道预警 + TYPE_USECASE_ID_LCW.poiType ->{ + TYPE_USECASE_ID_LCW.poiTypeStr + } + //紧急车辆提醒 + TYPE_USECASE_ID_EVW.poiType ->{ + TYPE_USECASE_ID_EVW.poiTypeStr + } + //左转辅助 + TYPE_USECASE_ID_LTA.poiType ->{ + TYPE_USECASE_ID_LTA.poiTypeStr + } + else ->{ + "事件通知" + } + } + } + @JvmStatic fun getUpdateIconRes(poiType: String?): Int { return when (poiType) {