diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/PNCActionsViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/PNCActionsViewModel.kt
index 65d52298e2..b906723e24 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/PNCActionsViewModel.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/PNCActionsViewModel.kt
@@ -7,6 +7,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
+import com.mogo.och.unmanned.passenger.model.TaxiPassengerModel
import com.mogo.och.unmanned.passenger.ui.aiview.bean.AIMessage
import mogo.telematics.pad.MessagePad
@@ -47,8 +48,12 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
actions?.let {
if(it.isNotEmpty() && it != currentAction){
currentAction = it
- val action = AIMessage.PNCAction(it+System.currentTimeMillis(),it)
- AIMessageManager.post(action)
+ val title = getActionTitle(it)
+ if(title.isNotEmpty()){
+ val desc = getActionDesc(title)
+ val action = AIMessage.PNCAction(it+System.currentTimeMillis(),title,desc,System.currentTimeMillis())
+ AIMessageManager.post(action)
+ }
}
}
@@ -59,4 +64,163 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
}
}
+ private fun getActionTitle(pncAction: String): String{
+ return when(pncAction){
+ "正在进站"->{
+ "车辆进站"
+ }
+ "等待进站"->{
+ "车辆等待进站"
+ }
+ "正在出站"->{
+ "车辆出站"
+ }
+ "等待出站"->{
+ "车辆等待出站"
+ }
+ "正在向左变道"->{
+ "车辆向左变道"
+ }
+ "正在向右变道"->{
+ "车辆向右变道"
+ }
+ "正在完成变道"->{
+ "车辆完成变道"
+ }
+ "正在绕过障碍物"->{
+ "车辆正在绕过前方障碍物"
+ }
+ "正在向左绕行避让前方静止障碍物"->{
+ "车辆正在绕过前方障碍物"
+ }
+ "正在向右绕行避让前方静止障碍物"->{
+ "车辆正在绕过前方障碍物"
+ }
+ "正在避让障碍物"->{
+ "车辆正在避让前方障碍物"
+ }
+ "正在向左变道避让前方静止障碍物"->{
+ "车辆正在避让前方障碍物"
+ }
+ "正在向右变道避让前方静止障碍物"->{
+ "车辆正在避让前方障碍物"
+ }
+ "正在等红灯"->{
+ "路口等红灯"
+ }
+ "正在向左变道避让前方道路施工"->{
+ "车辆正在变道避让前方道路施工"
+ }
+ "正在向右变道避让前方道路施工"->{
+ "车辆正在变道避让前方道路施工"
+ }
+ "正在向左绕行避让前方道路施工"->{
+ "车辆正在绕行避让前方道路施工"
+ }
+ "正在向右绕行避让前方道路施工"->{
+ "车辆正在绕行避让前方道路施工"
+ }
+
+ "正在向左变道避让前方道路事故"->{
+ "车辆正在变道避让前方道路事故"
+ }
+ "正在向右变道避让前方道路事故"->{
+ "车辆正在变道避让前方道路事故"
+ }
+ "正在向左绕行避让前方道路事故"->{
+ "车辆正在绕行避让前方道路事故"
+ }
+ "正在向右绕行避让前方道路事故"->{
+ "车辆正在绕行避让前方道路事故"
+ }
+ "正在跟随车辆行驶"->{
+ "车辆正在跟车通行"
+ }
+ "正在跟车行驶"->{
+ "车辆正在跟车通行"
+ }
+ "正在向左变道避让前方车龙"->{
+ "车辆正在绕行前方车龙"
+ }
+ "正在向右变道避让前方车龙"->{
+ "车辆正在绕行前方车龙"
+ }
+ "正在使用云端规划通过路口"->{
+ "车辆正在使用云端轨迹通行"
+ }
+ "正在避让后方来车"->{
+ "车辆正在避让后方来车"
+ }
+ else->{
+ ""
+ }
+ }
+ }
+
+ private fun getActionDesc(action: String): String{
+ return when(action){
+ "车辆进站"->{
+ "前方即将到达${TaxiPassengerModel.currentOCHOrder!!.orderEndSite.siteName}," +
+ "车辆正在规划减速并进站停靠,请安心等待车辆停稳再下车哦~"
+ }
+ "车辆等待进站"->{
+ "车辆待环境安全后进站,耐心等几秒,安全比赶路更重要~"
+ }
+ "车辆出站"->{
+ "欢迎乘坐MOGO RoboTaxi~车辆正在规划出站,坐稳扶好哦,我们出发啦!小智持续守护您的行程。"
+ }
+ "车辆等待出站"->{
+ "车辆待环境安全后出站,耐心等几秒,安全比赶路更重要~"
+ }
+ "车辆向左变道"->{
+ "确认环境安全,车辆正在规划平稳向左/向右变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
+ }
+ "车辆向右变道"->{
+ "确认环境安全,车辆正在规划平稳向左/向右变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
+ }
+ "车辆完成变道"->{
+ "变道完成啦,继续前进!小智持续守护您的行程。"
+ }
+ "车辆正在绕过前方障碍物"->{
+ "发现前方障碍物,车辆正在规划平稳变道,即将画出一条完美弧线~"
+ }
+ "车辆正在避让前方障碍物"->{
+ "发现前方障碍物,车辆正在规划平稳避让,诠释优雅与丝滑~"
+ }
+ "车辆完成绕障"->{
+ "绕障完成啦,继续前进!小智持续守护您的行程。"
+ }
+ "路口等红灯"->{
+ "车辆正在路口等红灯,可以安心放空望望窗外~小智一直在您身边哦!"
+ }
+ "车辆正在变道避让前方道路施工"->{
+ "车辆正在提前规划向左/右变道避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
+ }
+ "车辆正在绕行避让前方道路施工"->{
+ "车辆正在提前规划向左/右绕行避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
+ }
+ "车辆正在变道避让前方道路事故"->{
+ "车辆正在提前规划向左/右变道避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
+ }
+ "车辆正在绕行避让前方道路事故"->{
+ "车辆正在提前规划向左/右绕行避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
+ }
+ "车辆正在跟车通行"->{
+ "车辆正在跟随前车通行,舒适度MAX~您已体验到车路云一体化协同应用场景,超越全国99%的乘客!"
+ }
+ "车辆正在绕行前方车龙"->{
+ "车辆正在提前规划向左/右变道避让路口车龙,舒适度MAX~。您已体验到车路云一体化协同应用场景,超越全国99%的乘客!"
+ }
+ "车辆正在使用云端轨迹通行"->{
+ "前方智慧路口内有障碍物,车辆正在使用云端规划轨迹通行。您已体验到车路云一体化协同应用场景,超越全国99%的乘客!"
+ }
+ "车辆正在避让后方来车"->{
+ "车辆正在避让后方来车,耐心等几秒,安全比赶路更重要~"
+ }
+ else->{
+ ""
+ }
+ }
+ }
+
}
\ No newline at end of file
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt
index 99f87adb19..61283e46aa 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt
@@ -186,9 +186,15 @@ class QAViewHolder(val binding: View) : MessageViewHolder(binding) {
class PNCActionViewHolder(binding: View) : MessageViewHolder(binding){
private var tvPncAction: TextView = binding.findViewById(R.id.tvPncAction)
+ private var tvPncActionDesc: TextView = binding.findViewById(R.id.tvPncActionDesc)
+ private var tvPncActionTime: TextView = binding.findViewById(R.id.tvPncActionTime)
override fun bind(item: AIMessage, onItemClickListener: OnItemClickListener?) {
- tvPncAction.text = item.title
+ if(item is AIMessage.PNCAction){
+ tvPncAction.text = item.title
+ tvPncActionDesc.text = item.actionDesc
+ tvPncActionTime.text = DateTimeUtils.getTimeText(item.timeStamp, DateTimeUtils.HH_mm_ss)
+ }
}
}
diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AssistantMessage.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AssistantMessage.kt
index d6d00d5861..2b7ca9a3e4 100644
--- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AssistantMessage.kt
+++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AssistantMessage.kt
@@ -135,7 +135,9 @@ sealed class AIMessage(
data class PNCAction(
override val id: String,
- override val title: String
+ override val title: String,
+ var actionDesc: String,
+ var timeStamp: Long = 0, //事件发生事件戳
): AIMessage(id,title)
data class RoadV2NEvent(
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_pnc_action.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_pnc_action.xml
index 3d1864bf9a..701ab43851 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_pnc_action.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_pnc_action.xml
@@ -9,18 +9,53 @@
app:yOffset="0dp"
app:blurRadius="@dimen/dp_26">
-
+ android:layout_height="wrap_content">
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_nde_road_recommend.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_nde_road_recommend.xml
index b2ea52f057..6cdfd89974 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_nde_road_recommend.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_nde_road_recommend.xml
@@ -1,7 +1,7 @@