From c1c1c459f8ec84cb22e0db72c459d568036912ea Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 16 Jan 2023 11:42:07 +0800 Subject: [PATCH 1/7] [2.13.2] close the ai cloud weakness and fix bug of obu wake ness btn show status --- .../mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt | 2 +- .../main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 5684bb1301..f93fff2e7a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -1148,7 +1148,7 @@ class DebugSettingView @JvmOverloads constructor( */ tbObuWeaknessTraffic.isChecked = HmiBuildConfig.isShowObuWeaknessTrafficView tbObuWeaknessTraffic.setOnCheckedChangeListener { _, isChecked -> - if (!isChecked) { //默认开启 + if (isChecked) { //默认开启 CallerHmiManager.setObuWeaknessTraffic(true) } else { CallerHmiManager.setObuWeaknessTraffic(false) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt index 934d7262a7..f156f8b981 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt @@ -91,7 +91,7 @@ object HmiBuildConfig { */ @JvmField @Volatile - var isShowCloudWeaknessTrafficView = true + var isShowCloudWeaknessTrafficView = false /** * 是否展示obu的限速 From 8438d5307d72a4c1b9f632b16ee83b90500549b7 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 16 Jan 2023 13:55:48 +0800 Subject: [PATCH 2/7] [2.13.2] update map version --- .../core/function/hmi/ui/MoGoHmiFragment.kt | 94 ++++++++++--------- gradle.properties | 2 +- 2 files changed, 49 insertions(+), 47 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index ace76de97a..b30ccde589 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -942,58 +942,60 @@ class MoGoHmiFragment : MvpFragment(), playTts: Boolean, expireTime: Long ) { - val playTTS = - playTts && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) - activity?.let { - val warningContent = alertContent - ?: EventTypeEnumNew.getWarningContent(v2xType) + ThreadUtils.runOnUiThread { + val playTTS = + playTts && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) + activity?.let { + val warningContent = alertContent + ?: EventTypeEnumNew.getWarningContent(v2xType) // Log.d("liyz", "warningV2X v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent") - //占道施工预警 - if (v2xType.equals("10006") || v2xType.equals("100061")) { - val currentTime = System.currentTimeMillis() / 1000 - val oldTime = - context?.let { it -> SharedPrefsMgr.getInstance(it).getLong("roadwork", 0) } - if (currentTime - oldTime!! > 60) { //超过一分钟,才会继续播报重复提醒 - context?.let { it -> - SharedPrefsMgr.getInstance(it) - .putLong("roadwork", System.currentTimeMillis() / 1000) + //占道施工预警 + if (v2xType == "10006" || v2xType == "100061") { + val currentTime = System.currentTimeMillis() / 1000 + val oldTime = + context?.let { it -> SharedPrefsMgr.getInstance(it).getLong("roadwork", 0) } + if (currentTime - oldTime!! > 60) { //超过一分钟,才会继续播报重复提醒 + context?.let { it -> + SharedPrefsMgr.getInstance(it) + .putLong("roadwork", System.currentTimeMillis() / 1000) + } + CallerAutoPilotManager.sendTripInfo(5, "", "", "", false) } - CallerAutoPilotManager.sendTripInfo(5, "", "", "", false) } - } - if (warningContent.isEmpty()) { - CallerLogger.e("$M_HMI$TAG", "Show warningContent is null or empty!") - return - } - listener?.onShow() - CallerLogger.d( - "$M_HMI$TAG", - "--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" - ) - lastShowV2XJob?.safeCancel() - lifecycleScope.launch { - delay(expireTime) - }.also { itx -> - lastShowV2XJob = itx - }.invokeOnCompletion { _ -> - listener?.onDismiss() - showWarning(WarningDirectionEnum.ALERT_WARNING_NON) - } - - if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) { - val last = lastSpeakJob.get() - Log.d("CODE", "---- 0 ------: last: $last") - if (last != null && !last.isCompleted) { - Log.d("CODE", "---- 1 ------") - return + if (warningContent.isEmpty()) { + CallerLogger.e("$M_HMI$TAG", "Show warningContent is null or empty!") + return@runOnUiThread } - lifecycleScope.launch(Dispatchers.Default) { - Log.d("CODE", "---- 2 ------") - speak(it, ttsContent) - Log.d("CODE", "---- 3 ------") + listener?.onShow() + CallerLogger.d( + "$M_HMI$TAG", + "--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" + ) + lastShowV2XJob?.safeCancel() + lifecycleScope.launch { + delay(expireTime) }.also { itx -> - lastSpeakJob.set(itx) + lastShowV2XJob = itx + }.invokeOnCompletion { _ -> + listener?.onDismiss() + showWarning(WarningDirectionEnum.ALERT_WARNING_NON) + } + + if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) { + val last = lastSpeakJob.get() + Log.d("CODE", "---- 0 ------: last: $last") + if (last != null && !last.isCompleted) { + Log.d("CODE", "---- 1 ------") + return@runOnUiThread + } + lifecycleScope.launch(Dispatchers.Default) { + Log.d("CODE", "---- 2 ------") + speak(it, ttsContent) + Log.d("CODE", "---- 3 ------") + }.also { itx -> + lastSpeakJob.set(itx) + } } } } diff --git a/gradle.properties b/gradle.properties index 8e90721114..a18de3eb6b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -85,7 +85,7 @@ MOGO_LOCATION_VERSION=1.4.3.27 MOGO_TELEMATIC_VERSION=1.4.3.27 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=2.9.0.14_test_03 +MAP_SDK_VERSION=2.9.0.14_test_05 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket WEBSOCKET_VERSION=1.1.7 From b91382d7c9976684582e92e53012f298db8bf6c7 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 16 Jan 2023 14:53:55 +0800 Subject: [PATCH 3/7] =?UTF-8?q?[2.13.2]=E6=B6=88=E6=81=AF=E7=9B=92?= =?UTF-8?q?=E5=AD=90=E5=85=A8=E7=A8=8B=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=88=86=E5=8F=91=E7=BB=99=E4=B8=9A=E5=8A=A1=E4=BE=A7=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E5=90=8E=E7=BB=AD=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/PassengerMsgBoxBubbleAdapter.kt | 4 +- .../adapter/PassengerMsgBoxListAdapter.kt | 4 +- .../api/msgbox/IMsgBoxEventListener.kt | 9 +++ .../CallerMsgBoxEventListenerManager.kt | 70 +++++++++++++++++++ 4 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/msgbox/IMsgBoxEventListener.kt create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxEventListenerManager.kt diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxBubbleAdapter.kt index 364411654e..db78cd9935 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxBubbleAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/PassengerMsgBoxBubbleAdapter.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.data.enums.EventTypeEnumNew import com.mogo.eagle.core.data.msgbox.* import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform @@ -112,7 +113,8 @@ class PassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView holder.tvPassengerSummaryContent.text = summaryMsg.content holder.tvPassengerSummaryCheck.setOnClickListener { //跳转全览模式 - CallerHmiManager.showSmallFragment() +// CallerHmiManager.showSmallFragment() + CallerMsgBoxEventListenerManager.invokeListener() } } } 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 18c9695682..8bb23e0ed6 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 @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.enums.EventTypeEnumNew import com.mogo.eagle.core.data.msgbox.* import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform @@ -104,7 +105,8 @@ class PassengerMsgBoxListAdapter(private val activity: Activity): RecyclerView.A holder.tvPassengerSummaryContent.text = summaryMsg.content holder.tvPassengerSummaryCheck.setOnClickListener { //跳转全览模式 - CallerHmiManager.showSmallFragment() +// CallerHmiManager.showSmallFragment() + CallerMsgBoxEventListenerManager.invokeListener() } } } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/msgbox/IMsgBoxEventListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/msgbox/IMsgBoxEventListener.kt new file mode 100644 index 0000000000..cebfca9d9b --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/msgbox/IMsgBoxEventListener.kt @@ -0,0 +1,9 @@ +package com.mogo.eagle.core.function.api.msgbox +/** + * @author XuXinChao + * @date 2023/1/16 + * 消息盒子事件监听回调 + */ +interface IMsgBoxEventListener { + fun onSummaryClickEvent() +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxEventListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxEventListenerManager.kt new file mode 100644 index 0000000000..3696e0f471 --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxEventListenerManager.kt @@ -0,0 +1,70 @@ +package com.mogo.eagle.core.function.call.msgbox + +import androidx.annotation.Nullable +import com.mogo.eagle.core.function.api.msgbox.IMsgBoxEventListener +import com.mogo.eagle.core.function.call.base.CallerBase +import java.util.concurrent.ConcurrentHashMap + +/** + * @author XuXinChao + * @date 2023/1/16 + * 消息盒子事件监听管理 + */ +object CallerMsgBoxEventListenerManager: CallerBase() { + + private val statusListeners: ConcurrentHashMap = + ConcurrentHashMap() + + /** + * 添加数据监听 + * @param tag 标记,用来注销监听使用 + * @param listener 监听回调 + */ + fun addListener(@Nullable tag: String,@Nullable listener: IMsgBoxEventListener){ + if (statusListeners.containsKey(tag)) { + return + } + statusListeners[tag] = listener + } + + /** + * 删除状态监听 + * @param tag 标记,用来注销监听使用 + */ + fun removeListener(@Nullable tag: String) { + if (!statusListeners.containsKey(tag)) { + return + } + statusListeners.remove(tag) + } + + /** + * 删除状态监听 + * @param listener 要删除的监听对象 + */ + fun removeListener(@Nullable listener: IMsgBoxEventListener){ + if (!statusListeners.containsValue(listener)) { + return + } + var tag = "" + statusListeners.forEach { + if (it.value == listener) { + tag = it.key + statusListeners.remove(it.key) + } + } + } + + /** + * 触发监听 + */ + fun invokeListener(){ + statusListeners.forEach { + val tag = it.key + val listener = it.value + listener.onSummaryClickEvent() + } + } + + +} \ No newline at end of file From 3131e42e15900c185aa54c2e88413f6ce91bdc0f Mon Sep 17 00:00:00 2001 From: renwj Date: Mon, 16 Jan 2023 14:57:06 +0800 Subject: [PATCH 4/7] =?UTF-8?q?[2.13.2]=E9=95=BF=E9=93=BE=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=9A=84=E9=81=93=E8=B7=AF=E6=8B=A5=E5=A0=B5=E5=92=8C?= =?UTF-8?q?=E9=9D=99=E6=AD=A2=E9=9A=9C=E7=A2=8D=E7=89=A9=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?poiType=E5=8A=A01,=E7=94=A8=E4=BA=8E=E5=8C=BA=E5=88=86=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=9A=84=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 a876d30687..dd4418e8db 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 @@ -453,23 +453,23 @@ enum class EventTypeEnumNew( ), TYPE_USECASE_ID_ACCIDENT( 244.toString(), - "事故", + "交通事故", poiTypeSrcVr = R.drawable.v2x_icon_jiaotongshigu_vr, - content = "前方%s米事故", - tts = "前方%s米事故" + content = "前方%s米交通事故", + tts = "前方%s米交通事故" ), //------------车内标牌 obu end --------------> TYPE_SOCKET_ROAD_CONGESTION( - "10007", - "道路拥堵", + "100071", + "交通拥堵", poiTypeSrcVr = R.drawable.v2x_icon_yongdu_vr, content = "前方%s米交通拥堵", tts = "前方%s米交通拥堵" ), TYPE_SOCKET_ROAD_JINGZHI( - "10025", + "100251", "前方%s米静止障碍物占道", poiTypeSrcVr = R.drawable.v2x_icon_jingzhi_zhangai, content = "前方%s米静止障碍物占道", From 6654df6cf54d9687c7718f9a60e17ad2b47e9908 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 16 Jan 2023 15:35:50 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[2.13.2]fix=E6=96=B0=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=8F=8A=E6=97=B6=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/msgbox/DriverMsgBoxListView.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt index 2dbaf16312..547b6c8719 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt @@ -171,13 +171,21 @@ class DriverMsgBoxListView @JvmOverloads constructor( when (category) { MsgCategory.NOTICE -> { noticeList?.add(0,msgBoxList) + if(MsgBoxConfig.getUserRecord() == 0){ + noticeList?.let { driverMsgBoxListAdapter?.setData(it) } + } } MsgCategory.SYS_INFO -> { ipcReportList?.add(0,msgBoxList) + if(MsgBoxConfig.getUserRecord() == 1){ + ipcReportList?.let { driverMsgBoxListAdapter?.setData(it) } + } } MsgCategory.RECORD_BAG -> { badCaseList?.add(0,msgBoxList) - badCaseList?.let { driverMsgBoxListAdapter?.setData(it) } + if(MsgBoxConfig.getUserRecord() == 2){ + badCaseList?.let { driverMsgBoxListAdapter?.setData(it) } + } } } } From 7b84d2a7052ce775dbf7c5ed4f02cd8bc196f70b Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 16 Jan 2023 15:47:10 +0800 Subject: [PATCH 6/7] [2.13.2] fix ui bug because of event type enum --- .../msgbox/adapter/DriverMsgBoxListAdapter.kt | 179 +++++++++++------- .../warning/V2XFrontWarningScenario.java | 17 +- .../eagle/core/data/enums/EventTypeEnumNew.kt | 4 +- 3 files changed, 123 insertions(+), 77 deletions(-) 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 9f43b88780..1cbb3186d0 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 @@ -9,7 +9,6 @@ import android.widget.ImageView import android.widget.TextView import androidx.core.view.isVisible import androidx.recyclerview.widget.RecyclerView -import com.mogo.eagle.core.data.enums.EventTypeEnum import com.mogo.eagle.core.data.enums.EventTypeEnumNew import com.mogo.eagle.core.data.msgbox.* import com.mogo.eagle.core.data.report.ReportEntity @@ -28,9 +27,10 @@ import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat * @description 司机端消息盒子列表视图RecyclerView适配器 * @since: 2022/11/25 */ -class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Adapter(){ +class DriverMsgBoxListAdapter(private val activity: Activity) : + RecyclerView.Adapter() { - private var data: List ?= null + private var data: List? = null private val operation: Int = 1 private val notice: Int = 2 @@ -44,7 +44,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada val RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED" val RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE" - fun setData(data: List){ + fun setData(data: List) { this.data = data notifyDataSetChanged() } @@ -52,27 +52,33 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { when (viewType) { record -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bad_case,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_bad_case, parent, false) return BadCaseHolder(view) } report -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_ipc_report,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_msg_box_ipc_report, parent, false) return MsgBoxIpcReportHolder(view) } operation -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_operation,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_msg_box_operation, parent, false) return MsgBoxOperation(view) } notice -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_notice,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_msg_box_notice, parent, false) return MsgBoxNotice(view) } summary -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_summary,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_msg_box_summary, parent, false) return MsgBoxSummary(view) } else -> { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_box_v2x,parent,false) + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_msg_box_v2x, parent, false) return MsgBoxV2X(view) } } @@ -83,53 +89,68 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada when (holder) { is BadCaseHolder -> { data?.let { - holder.tvBagReceiveTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) - holder.tvBagRecordTime.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvBagReceiveTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) + holder.tvBagRecordTime.text = + "时间:${TimeUtils.millis2String(it[position].timestamp)}" val msgBoxBean = it[position] holder.tvRecordCheck.setOnClickListener { //打开被动录包弹窗 - CallerDevaToolsManager.onReceiveBadCaseRecord(msgBoxBean,activity,false) + CallerDevaToolsManager.onReceiveBadCaseRecord(msgBoxBean, activity, false) } } } is MsgBoxIpcReportHolder -> { data?.let { it -> - holder.tvReportTimeNormal.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" - holder.tvReportTimeOpen.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTimeNormal.text = + "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTimeOpen.text = + "时间:${TimeUtils.millis2String(it[position].timestamp)}" val reportEntity = (it[position].bean as ReportEntity) - if(reportEntity.resultList.contains(RESULT_AUTOPILOT_DISABLE) + if (reportEntity.resultList.contains(RESULT_AUTOPILOT_DISABLE) || reportEntity.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) - || reportEntity.resultList.contains(RESULT_REMOTEPILOT_DISABLE)){ + || reportEntity.resultList.contains(RESULT_REMOTEPILOT_DISABLE) + ) { //Error holder.ivReportImageNormal.setImageDrawable(getDrawable(R.drawable.icon_report_error_normal)) holder.ivReportImageOpen.setImageDrawable(getDrawable(R.drawable.icon_report_error_open)) holder.tvReportLevelNormal.text = "Error" holder.tvReportLevelOpen.text = "Error" - }else{ + } else { //Warning holder.ivReportImageNormal.setImageDrawable(getDrawable(R.drawable.icon_report_warning_normal)) holder.ivReportImageOpen.setImageDrawable(getDrawable(R.drawable.icon_report_warning_open)) holder.tvReportLevelNormal.text = "Warning" holder.tvReportLevelOpen.text = "Warning" } - holder.tvReportTimeNormal.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" - holder.tvReportTimeOpen.text = "时间:${TimeUtils.millis2String(it[position].timestamp)}" - holder.tvReportTime.text =TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvReportTimeNormal.text = + "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTimeOpen.text = + "时间:${TimeUtils.millis2String(it[position].timestamp)}" + holder.tvReportTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) var resultStr = "类型:" - for (result in reportEntity.resultList){ - resultStr = "${resultStr}${CallerAutoPilotManager.getReportResultDesc(result)}" + for (result in reportEntity.resultList) { + resultStr = + "${resultStr}${CallerAutoPilotManager.getReportResultDesc(result)}" } holder.tvReportTypeNormal.text = resultStr holder.tvReportTypeOpen.text = resultStr holder.tvReportReasonOpen.text = "原因:${reportEntity.msg}" var actionStr = "" - for (action in reportEntity.actionsList){ - actionStr = "${actionStr}${CallerAutoPilotManager.getReportActionDesc(action)}" + for (action in reportEntity.actionsList) { + actionStr = + "${actionStr}${CallerAutoPilotManager.getReportActionDesc(action)}" } holder.tvReportActionOpen.text = "建议操作:$actionStr" holder.tvStatusSelect.setOnClickListener { - if(holder.tvReportLevelNormal.isVisible){ - holder.tvStatusSelect.setCompoundDrawablesWithIntrinsicBounds(getDrawable(R.drawable.icon_msg_close),null,null,null) + if (holder.tvReportLevelNormal.isVisible) { + holder.tvStatusSelect.setCompoundDrawablesWithIntrinsicBounds( + getDrawable(R.drawable.icon_msg_close), + null, + null, + null + ) holder.ivReportImageNormal.visibility = View.GONE holder.tvReportLevelNormal.visibility = View.GONE holder.tvReportTimeNormal.visibility = View.GONE @@ -141,8 +162,13 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada holder.tvReportTypeOpen.visibility = View.VISIBLE holder.tvReportReasonOpen.visibility = View.VISIBLE holder.tvReportActionOpen.visibility = View.VISIBLE - }else{ - holder.tvStatusSelect.setCompoundDrawablesWithIntrinsicBounds(getDrawable(R.drawable.icon_msg_open),null,null,null) + } else { + holder.tvStatusSelect.setCompoundDrawablesWithIntrinsicBounds( + getDrawable(R.drawable.icon_msg_open), + null, + null, + null + ) holder.ivReportImageNormal.visibility = View.VISIBLE holder.tvReportLevelNormal.visibility = View.VISIBLE holder.tvReportTimeNormal.visibility = View.VISIBLE @@ -163,10 +189,16 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada val operationMsg = it[position].bean as OperationMsg holder.tvOperationContentNormal.text = operationMsg.content holder.tvOperationContentOpen.text = operationMsg.content - holder.tvOperationTime.text = TimeUtils.millis2String(operationMsg.timestamp,getHourMinFormat()) + holder.tvOperationTime.text = + TimeUtils.millis2String(operationMsg.timestamp, getHourMinFormat()) holder.tvOperationStatusSelect.setOnClickListener { - if(holder.ivOperationImageNormal.isVisible){ - holder.tvOperationStatusSelect.setCompoundDrawablesWithIntrinsicBounds(getDrawable(R.drawable.icon_msg_close),null,null,null) + if (holder.ivOperationImageNormal.isVisible) { + holder.tvOperationStatusSelect.setCompoundDrawablesWithIntrinsicBounds( + getDrawable(R.drawable.icon_msg_close), + null, + null, + null + ) holder.ivOperationImageNormal.visibility = View.GONE holder.tvOperationTitleNormal.visibility = View.GONE holder.tvOperationContentNormal.visibility = View.GONE @@ -174,8 +206,13 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada holder.ivOperationImageOpen.visibility = View.VISIBLE holder.tvOperationTitleOpen.visibility = View.VISIBLE holder.tvOperationContentOpen.visibility = View.VISIBLE - }else{ - holder.tvOperationStatusSelect.setCompoundDrawablesWithIntrinsicBounds(getDrawable(R.drawable.icon_msg_open),null,null,null) + } else { + holder.tvOperationStatusSelect.setCompoundDrawablesWithIntrinsicBounds( + getDrawable(R.drawable.icon_msg_open), + null, + null, + null + ) holder.ivOperationImageNormal.visibility = View.VISIBLE holder.tvOperationTitleNormal.visibility = View.VISIBLE holder.tvOperationContentNormal.visibility = View.VISIBLE @@ -190,9 +227,10 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada is MsgBoxNotice -> { data?.let { val noticeFrCloudMsg = it[position].bean as NoticeFrCloudMsg - if(noticeFrCloudMsg.type == 0){ + if (noticeFrCloudMsg.type == 0) { val noticeNormalData = noticeFrCloudMsg.noticeNormalData - holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvNoticeTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) holder.tvNoticeContent.text = noticeNormalData?.content GlideApp.with(activity).load(noticeNormalData?.imageUrl).optionalTransform( GlideRoundedCornersTransform( @@ -204,19 +242,25 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada //云公告 noticeNormalData?.let { it1 -> CallerHmiManager.showNoticeNormalData(it1) } } - }else if(noticeFrCloudMsg.type == 1){ + } else if (noticeFrCloudMsg.type == 1) { val noticeTrafficStylePushData = noticeFrCloudMsg.trafficPushData - holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvNoticeTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) holder.tvNoticeContent.text = noticeTrafficStylePushData?.content - GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl).optionalTransform( - GlideRoundedCornersTransform( - 20f, - GlideRoundedCornersTransform.CornerType.ALL - ) - ).into(holder.ivNoticeImage) + GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl) + .optionalTransform( + GlideRoundedCornersTransform( + 20f, + GlideRoundedCornersTransform.CornerType.ALL + ) + ).into(holder.ivNoticeImage) holder.tvNoticeCheck.setOnClickListener { //云公告 - noticeTrafficStylePushData?.let { it1 -> CallerHmiManager.showTrafficBanner(it1) } + noticeTrafficStylePushData?.let { it1 -> + CallerHmiManager.showTrafficBanner( + it1 + ) + } } } @@ -226,21 +270,19 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada data?.let { val msgBoxBean = it[position] val v2XMsg = msgBoxBean.bean as V2XMsg - holder.tvV2XTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvV2XTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) holder.tvV2XContent.text = v2XMsg.content - if(msgBoxBean.type == MsgBoxType.OBU){ - holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable( - EventTypeEnumNew.getUpdateIconRes(v2XMsg.type))) - }else{ - holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable( - EventTypeEnum.getUpdateIconRes(v2XMsg.type))) - } + holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable( + EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)) + ) } } is MsgBoxSummary -> { data?.let { val summaryMsg = it[position].bean as V2XMsg - holder.tvSummaryTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat()) + holder.tvSummaryTime.text = + TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) holder.tvSummaryContent.text = summaryMsg.content } } @@ -251,30 +293,30 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada override fun getItemViewType(position: Int): Int { - return if(data!![position].type == MsgBoxType.OPERATION){ + return if (data!![position].type == MsgBoxType.OPERATION) { operation - }else if(data!![position].type == MsgBoxType.NOTICE){ + } else if (data!![position].type == MsgBoxType.NOTICE) { notice - }else if(data!![position].type == MsgBoxType.V2X && data!![position].sourceType == DataSourceType.SUMMARY){ + } else if (data!![position].type == MsgBoxType.V2X && data!![position].sourceType == DataSourceType.SUMMARY) { summary - }else if(data!![position].type == MsgBoxType.REPORT){ + } else if (data!![position].type == MsgBoxType.REPORT) { report - }else if(data!![position].type == MsgBoxType.RECORD){ + } else if (data!![position].type == MsgBoxType.RECORD) { record - }else{ + } else { v2x } } //录包实体 - class BadCaseHolder(itemView: View): RecyclerView.ViewHolder(itemView){ - var tvBagRecordTime: TextView= itemView.findViewById(R.id.tvBagRecordTime) + class BadCaseHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var tvBagRecordTime: TextView = itemView.findViewById(R.id.tvBagRecordTime) var tvBagReceiveTime: TextView = itemView.findViewById(R.id.tvBagReceiveTime) var tvRecordCheck: TextView = itemView.findViewById(R.id.tvRecordCheck) } //车辆系统信息 - class MsgBoxIpcReportHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + class MsgBoxIpcReportHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { var ivReportImageNormal: ImageView = itemView.findViewById(R.id.ivReportImageNormal) var tvReportLevelNormal: TextView = itemView.findViewById(R.id.tvReportLevelNormal) var tvReportTimeNormal: TextView = itemView.findViewById(R.id.tvReportTimeNormal) @@ -290,10 +332,11 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada } //运营平台 - class MsgBoxOperation(itemView: View): RecyclerView.ViewHolder(itemView){ + class MsgBoxOperation(itemView: View) : RecyclerView.ViewHolder(itemView) { var ivOperationImageNormal: ImageView = itemView.findViewById(R.id.ivOperationImageNormal) var tvOperationTitleNormal: TextView = itemView.findViewById(R.id.tvOperationTitleNormal) - var tvOperationContentNormal: TextView = itemView.findViewById(R.id.tvOperationContentNormal) + var tvOperationContentNormal: TextView = + itemView.findViewById(R.id.tvOperationContentNormal) var tvOperationStatusSelect: TextView = itemView.findViewById(R.id.tvOperationStatusSelect) var tvOperationTime: TextView = itemView.findViewById(R.id.tvOperationTime) var ivOperationImageOpen: ImageView = itemView.findViewById(R.id.ivOperationImageOpen) @@ -302,7 +345,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada } //Notice - class MsgBoxNotice(itemView: View): RecyclerView.ViewHolder(itemView){ + class MsgBoxNotice(itemView: View) : RecyclerView.ViewHolder(itemView) { var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage) var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle) var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime) @@ -311,14 +354,14 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : RecyclerView.Ada } //V2X,OBU - class MsgBoxV2X(itemView: View): RecyclerView.ViewHolder(itemView){ + class MsgBoxV2X(itemView: View) : RecyclerView.ViewHolder(itemView) { var ivV2XImage: ImageView = itemView.findViewById(R.id.ivV2XImage) var tvV2XTime: TextView = itemView.findViewById(R.id.tvV2XTime) var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent) } //汇总消息 - class MsgBoxSummary(itemView: View): RecyclerView.ViewHolder(itemView){ + class MsgBoxSummary(itemView: View) : RecyclerView.ViewHolder(itemView) { var tvSummaryContent: TextView = itemView.findViewById(R.id.tvSummaryContent) var tvSummaryTime: TextView = itemView.findViewById(R.id.tvSummaryTime) } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/warning/V2XFrontWarningScenario.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/warning/V2XFrontWarningScenario.java index e498e965d4..af73363dfa 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/warning/V2XFrontWarningScenario.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/warning/V2XFrontWarningScenario.java @@ -9,6 +9,8 @@ import android.text.style.ForegroundColorSpan; import android.util.Log; import androidx.annotation.Nullable; + +import com.mogo.eagle.core.data.enums.EventTypeEnumNew; import com.mogo.eagle.core.data.enums.WarningDirectionEnum; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.data.map.entity.V2XMessageEntity; @@ -19,10 +21,11 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener; import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.function.v2x.events.scenario.impl.AbsV2XScenario; import com.mogo.eagle.core.function.v2x.events.scenario.view.IV2XMarker; import com.mogo.eagle.core.function.v2x.internal.data.V2XWarningTarget; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; + import java.math.BigDecimal; import java.util.Locale; import java.util.concurrent.TimeUnit; @@ -62,9 +65,9 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoMapL CallerLogger.INSTANCE.d(M_V2X + TAG, "----- show --- 1 --:\n" + (mMarkerEntity == null ? "null" : mMarkerEntity.toString())); if (mMarkerEntity != null) { CallerLogger.INSTANCE.d(M_V2X + TAG, "----- show --- 2 --:\n" + mMarkerEntity); - int v2xType = getV2XTypeForFrontWarning(mMarkerEntity); + String v2xType = getV2XTypeForFrontWarning(mMarkerEntity); V2XMessageEntity entity = getV2XMessageEntity(); - if (v2xType != 0) { + if (!v2xType.equals("0")) { if (getAlertContentForFrontWarning(mMarkerEntity).toString() == null || getAlertContentForFrontWarning(mMarkerEntity).toString().isEmpty() || mMarkerEntity.getTts() == null || mMarkerEntity.getTts().isEmpty()) { @@ -86,19 +89,19 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoMapL } } - private int getV2XTypeForFrontWarning(V2XWarningTarget entity) { + private String getV2XTypeForFrontWarning(V2XWarningTarget entity) { switch (entity.getType()) { case 1: case 11: entity.setTts("注意行人"); - return 0X2B0201; + return EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_PERSON.getPoiType(); case 2: entity.setTts("注意自行车"); case 4: entity.setTts("注意摩托车"); - return 0X2B0202; + return EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.getPoiType(); } - return 0; + return "0"; } private CharSequence getAlertContentForFrontWarning(V2XWarningTarget entity) { 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 dd4418e8db..d6f6595483 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 @@ -221,8 +221,8 @@ enum class EventTypeEnumNew( 1001.toString(), "弱势交通参与者碰撞预警", poiTypeSrcVr = R.drawable.icon_warning_v2x_motorcycle_collision, - content = "注意机动车", - tts = "注意机动车" + content = "注意摩托车", + tts = "注意摩托车" ), TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES( 1002.toString(), From 3c3c59cedf572fb345a89ff87132cab006b0bb8a Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 16 Jan 2023 16:20:48 +0800 Subject: [PATCH 7/7] =?UTF-8?q?[2.13.2]=20[feature]=20[=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E6=9C=89=E8=AE=A2=E5=8D=95=E6=9D=A5=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=98=AF=E5=90=A6=E5=B1=95=E7=A4=BA=E5=85=A8=E7=A8=8B?= =?UTF-8?q?=E6=A6=82=E8=A7=88]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/TaxiPassengerModel.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index fdf31ffb91..aa06fd8dae 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -27,11 +27,13 @@ import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; +import com.mogo.eagle.core.function.api.msgbox.IMsgBoxEventListener; import com.mogo.eagle.core.function.api.v2x.LimitingVelocityListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager; import com.mogo.eagle.core.function.call.v2x.CallLimitingVelocityListenerManager; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -64,6 +66,7 @@ import com.mogo.och.taxi.passenger.callback.ITaxiPassengerVeloctityCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager; +import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils; import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager; import org.jetbrains.annotations.NotNull; @@ -249,6 +252,8 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback //开启自驾后 异常信息返回 OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(mAdasStartFailureListener); + + CallerMsgBoxEventListenerManager.INSTANCE.addListener(TAG,iMsgBoxEventListener); } private void releaseListeners() { @@ -267,6 +272,8 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback AbnormalFactorsLoopManager.INSTANCE.stopLoopAbnormalFactors(); OCHAdasAbilityManager.getInstance().setAdasStartFailureCallback(null); + + CallerMsgBoxEventListenerManager.INSTANCE.removeListener(iMsgBoxEventListener); } /** @@ -603,6 +610,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } }; + private final IMsgBoxEventListener iMsgBoxEventListener = new IMsgBoxEventListener() { + @Override + public void onSummaryClickEvent() { + if (mCurrentOCHOrder == null){ + ToastUtils.showLong("行程已结束"); + }else { + OverlayLeftViewUtils.INSTANCE.transmissionIndexGet(OverlayLeftViewUtils.OVERVIEW); + } + } + }; + public void startToRouteAndWipe(List models) { List locationsModels = CoordinateCalculateRouteUtil .coordinateConverterWgsToGcjLocations(mContext,models);