From 6654df6cf54d9687c7718f9a60e17ad2b47e9908 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 16 Jan 2023 15:35:50 +0800 Subject: [PATCH 1/4] =?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 2/4] [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 3/4] =?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); From 80da625ade49873eea62c4d80f81e445b08fb311 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 16 Jan 2023 16:28:02 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[2.13.2]=20=E5=BC=B1=E5=8A=BF=E4=BA=A4?= =?UTF-8?q?=E9=80=9A=E5=8F=AA=E7=95=99=E8=A1=8C=E4=BA=BA=EF=BC=8C=E7=BA=A2?= =?UTF-8?q?=E7=BB=BF=E7=81=AF=E5=80=92=E8=AE=A1=E6=97=B6=E5=88=B01?= =?UTF-8?q?=E5=8D=A1=E9=A1=BF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../obu/mogo/MogoPrivateObuNewManager.kt | 70 ++++++++++++++----- 1 file changed, 52 insertions(+), 18 deletions(-) diff --git a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt index 85fcf95f78..d273114fcb 100644 --- a/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-obu-mogo/src/main/java/com/mogo/eagle/core/function/obu/mogo/MogoPrivateObuNewManager.kt @@ -4,7 +4,6 @@ import android.content.Context import android.util.Log import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig -import com.mogo.eagle.core.data.config.HmiBuildConfig.isShowObuLimitSpeedView import com.mogo.eagle.core.data.enums.* import com.mogo.eagle.core.data.msgbox.DataSourceType import com.mogo.eagle.core.data.msgbox.MsgBoxBean @@ -525,18 +524,24 @@ class MogoPrivateObuNewManager private constructor() { // 交通参与者类型 0x0:未知 UNKNOWN | 1机动车 2:非机动车 NON_MOTOR | 3:行人 PEDESTRIAN 4:obu if (data != null && data.participant != null) { var v2xType = "" - if (data.participant.ptcType == 1) { //机动车 - v2xType = - EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType - } else if (data.participant.ptcType == 2) { //非机动车 - v2xType = - EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES.poiType - } else if (data.participant.ptcType == 3) { //行人 +// if (data.participant.ptcType == 1) { //机动车 +// v2xType = +// EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType +// } else if (data.participant.ptcType == 2) { //非机动车 +// v2xType = +// EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_NOT_MOTOR_VEHICLES.poiType +// } else if (data.participant.ptcType == 3) { //行人 +// v2xType = +// EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_PERSON.poiType +// } else { //未知 +// v2xType = EventTypeEnumNew.TYPE_ERROR.poiType +// } + + if (data.participant.ptcType == 3) { //行人 v2xType = EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_PERSON.poiType - } else { //未知 - v2xType = EventTypeEnumNew.TYPE_ERROR.poiType } + val ttsContent = EventTypeEnumNew.getWarningTts(v2xType) val alertContent = EventTypeEnumNew.getWarningContent(v2xType) @@ -959,12 +964,14 @@ class MogoPrivateObuNewManager private constructor() { CallerHmiManager.disableWarningV2X(appId.toString()) isShowGreenWave = false isShowRunRedLight = false + isYellowLight = false } } } private var isRedLight = false private var isGreenLight = false + private var isYellowLight = false private var isShowGreenWave = false private var isShowRunRedLight = false @@ -1030,15 +1037,20 @@ class MogoPrivateObuNewManager private constructor() { if (!isShowGreenWave) { isShowGreenWave = true CallerHmiManager.disableWarningV2X(1666.toString()) - CallerLogger.d( - "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", - "new changeTrafficLightStatus speed_min = ${currentLight.suggestMinSpeed} --speed_max = ${currentLight.suggestMaxSpeed} --TYPE_USECASE_ID_IVP_GREEN ---alertContent = $alertContent ---ttsContent = $ttsContent" - ) - val adviceSpeed = - "${Math.round(currentLight.suggestMinSpeed*3.6)} - ${Math.round(currentLight.suggestMaxSpeed*3.6)}" - val adviceSpeedTts = - "${Math.round(currentLight.suggestMinSpeed*3.6)} 到 ${Math.round(currentLight.suggestMaxSpeed*3.6)}" + var minSpeedTemp = Math.round(currentLight.suggestMinSpeed*3.6) + var maxSpeedTemp = Math.round(currentLight.suggestMaxSpeed*3.6) + if (minSpeedTemp == maxSpeedTemp) { + minSpeedTemp -= 5 + } + + val adviceSpeed = "$minSpeedTemp - $maxSpeedTemp" + val adviceSpeedTts = "$minSpeedTemp 到 $maxSpeedTemp" + +// val adviceSpeed = +// "${Math.round(currentLight.suggestMinSpeed*3.6)} - ${Math.round(currentLight.suggestMaxSpeed*3.6)}" +// val adviceSpeedTts = +// "${Math.round(currentLight.suggestMinSpeed*3.6)} 到 ${Math.round(currentLight.suggestMaxSpeed*3.6)}" ttsContent = String.format( @@ -1093,10 +1105,20 @@ class MogoPrivateObuNewManager private constructor() { isRedLight = true } isGreenLight = false + isYellowLight = false // CallerHmiManager.showWarningTrafficLight(1, 3) CallerObuTrafficLightListenerManager.invokeObuTrafficLight(1) val red = currentLight.countDown.toInt() CallerHmiManager.changeCountdownRed(red) + Log.d("lixp", " ------- red --------- = $red ----isGreenLight = $isGreenLight") + if (red == 1) { + //延迟3秒 红 绿 黄 + UiThreadHandler.postDelayed({ + if (!isGreenLight) { //如果3s后,没有变绿灯,删除红绿灯显示 + CallerHmiManager.disableWarningTrafficLight() + } + }, 3000) + } } // 绿灯 @@ -1106,14 +1128,26 @@ class MogoPrivateObuNewManager private constructor() { isGreenLight = true } isRedLight = false + isYellowLight = false // CallerHmiManager.showWarningTrafficLight(3, 3) CallerObuTrafficLightListenerManager.invokeObuTrafficLight(3) val green = currentLight.countDown.toInt() CallerHmiManager.changeCountdownGreen(green) + if (green == 1) { + Log.d("lixp", " ------- green --------- = $green ----isYellowLight = $isYellowLight") + UiThreadHandler.postDelayed({ + if (!isYellowLight) { //如果3s后,没有变黄灯,删除红绿灯显示 + CallerHmiManager.disableWarningTrafficLight() + } + }, 3000) + } } // 黄灯 7, 8 -> { + if (!isYellowLight) { + isYellowLight = true + } CallerHmiManager.disableWarningV2X(appId.toString()) // CallerHmiManager.showWarningTrafficLight(2, 3) CallerObuTrafficLightListenerManager.invokeObuTrafficLight(2)