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 a786c3ec4f..97805cca30 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 @@ -960,7 +960,6 @@ class MoGoHmiFragment : MvpFragment(), CallerAutoPilotManager.sendTripInfo(5, "", "", "", false) } } - if (warningContent.isEmpty()) { CallerLogger.e("$M_HMI$TAG", "Show warningContent is null or empty!") return diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index a6596fca2f..21d86a2dc9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -189,8 +189,9 @@ android:layout_height="35dp" android:gravity="center" android:text="" - android:textColor="@color/notice_text_blue" + android:textColor="@color/color_FFFFFF" android:textSize="@dimen/dp_30" + android:textStyle="bold" android:layout_marginEnd="40dp" android:visibility="gone" app:layout_constraintEnd_toEndOf="parent" diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/marker/drawer/TrafficMarkerDrawer.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/marker/drawer/TrafficMarkerDrawer.kt index 3527a4a31f..785e7f24df 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/marker/drawer/TrafficMarkerDrawer.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/marker/drawer/TrafficMarkerDrawer.kt @@ -101,7 +101,7 @@ object TrafficMarkerDrawer { fun updateITrafficThreatLevelInfo(trafficData: TrafficData) { CallerLogger.d(TAG, "trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel + "----FunctionBuildConfig.debugTrackerProvider = " + FunctionBuildConfig.debugTrackerProvider) - if (FunctionBuildConfig.debugTrackerProvider != 1) { + if (FunctionBuildConfig.debugTrackerProvider != 1) { return } if (trafficData != null && !TextUtils.isEmpty(trafficData.uuid)) { @@ -128,6 +128,10 @@ object TrafficMarkerDrawer { fun removeCvxRvInfoIndInfo(key: String) { if (mTrafficMap.containsKey(key)) { mTrafficMap.remove(key) + mMarkersCaches.get(key)?.let { + it.remove() + } + } } 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 7c48a71908..5e7b0ed34d 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 @@ -247,6 +247,7 @@ class MogoPrivateObuNewManager private constructor() { val rvMap = mutableMapOf() val rsiMap = mutableMapOf() val rsmMap = mutableMapOf() + val rsmPtcIdMap = mutableMapOf() /** * RSI预警信息 onMogoObuRsiWarning(交通标志预警(前方限速、前方学校等等),交通事件预警(前方拥堵、前方积水等等)) @@ -539,62 +540,81 @@ class MogoPrivateObuNewManager private constructor() { var level = -1 val direction = getMessageDirection(data.participant.targetPosition) - //15秒内同一个事件只出现一次 - if (rsmMap.containsKey(v2xType)) { - var oldTime = rsmMap[v2xType] - var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000 - if (timeDiff < 15) { - return - } - rsmMap.remove(v2xType) - rsmMap[v2xType] = System.currentTimeMillis() - } else { - rsmMap[v2xType] = System.currentTimeMillis() - } - //物体数据绘制 TODO 这里与dc通过工控机有区别 - when (data.status) { - MogoObuConstants.STATUS.ADD -> { // 添加 - // 更新数据 - TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data) - ?.let { - CallerLogger.d( - "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", - "add cvxPtcThreatIndInfo2TrafficData ---it---> $it" - ) - CallerMapUIServiceManager.getMarkerService() - ?.updateITrafficThreatLevelInfo(it) - } - } - - MogoObuConstants.STATUS.UPDATE -> {// 更新 - } - - MogoObuConstants.STATUS.DELETE -> { // 删除 - // 更新数据 TODO 删除原来的,改变颜色,删除marker。不影响别的模型添加 - TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data) - ?.let { - // 事件结束,还原交通参与者颜色 - it.threatLevel = 0x01 - CallerMapUIServiceManager.getMarkerService() - ?.updateITrafficThreatLevelInfo(it) - } - - //删除弱势交通元素 - CallerMapUIServiceManager.getMarkerService() - ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString()) - } - } + CallerLogger.d( + "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", "onMogoObuRsmWarning ---- data.status = ${data.status} ---data.participant.ptcId = ${data.participant.ptcId} ---data.participant.ptcType = ${data.participant.ptcType} ---data.warningMsg = ${data.warningMsg} -----data = ${data.toString()}") +// when (data.status) { +// MogoObuConstants.STATUS.ADD -> { // 添加 +// // 更新数据,模型变色的时候是不是update,如果不是更新,可能导致模型不变色,(add的时候,是否有level高的) TODO +// TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data) +// ?.let { +// CallerMapUIServiceManager.getMarkerService() +// ?.updateITrafficThreatLevelInfo(it) +// } +// } +// +// MogoObuConstants.STATUS.UPDATE -> { // 更新 +// //处理删除逻辑, +//// if (rsmPtcIdMap.containsKey(data.participant.ptcId.toString())) { +//// var oldTime = rsmPtcIdMap[data.participant.ptcId.toString()] +//// var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000 +//// if (timeDiff > 3) { //超过3秒,删除对应弱势交通元素 +//// CallerMapUIServiceManager.getMarkerService() +//// ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString()) +//// } +//// rsmPtcIdMap.remove(data.participant.ptcId.toString()) +//// rsmPtcIdMap[data.participant.ptcId.toString()] = System.currentTimeMillis() +//// } else { +//// rsmPtcIdMap[data.participant.ptcId.toString()] = System.currentTimeMillis() +//// } +// } +// +// MogoObuConstants.STATUS.DELETE -> { // 删除 +// // 更新数据 TODO 删除原来的,改变颜色,删除marker。不影响别的模型添加 +// TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data) +// ?.let { +// // 事件结束,还原交通参与者颜色 +// it.threatLevel = 0x01 +// CallerMapUIServiceManager.getMarkerService() +// ?.updateITrafficThreatLevelInfo(it) +// } +// +// //删除弱势交通元素 +// CallerMapUIServiceManager.getMarkerService() +// ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString()) +// } +// } //预警status if (data.warningMsg != null && data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) { level = data.warningMsg.warningData[0].warningLevel //默认是1个 CallerLogger.d( "$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", - "onMogoObuRsmWarning ---status---> ${data.status} ---data.warningMsg.warningData[0].status = ${data.warningMsg.warningData[0].status} ---v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent " + "onMogoObuRsmWarning ---status---> ${data.status} ---data.warningMsg.warningData[0].status = ${data.warningMsg.warningData[0].status} ---v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent ---level = $level" ) when (data.warningMsg.warningData[0].status) { MogoObuConstants.STATUS.ADD -> { // 添加 + //更新模型的颜色 + Log.e("lixp", "MogoObuConstants.STATUS.ADD ------1--------v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent ---level = $level --ptcId = ${data.participant.ptcId}") + //15秒内同一个事件只出现一次 + if (rsmMap.containsKey(v2xType)) { + var oldTime = rsmMap[v2xType] + var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000 + if (timeDiff < 15) { + return + } + rsmMap.remove(v2xType) + rsmMap[v2xType] = System.currentTimeMillis() + } else { + rsmMap[v2xType] = System.currentTimeMillis() + } + + TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data) + ?.let { + CallerMapUIServiceManager.getMarkerService() + ?.updateITrafficThreatLevelInfo(it) + } + //显示警告红边 CallerHmiManager.showWarning(direction) CallerMsgBoxManager.saveMsgBox( @@ -609,6 +629,7 @@ class MogoPrivateObuNewManager private constructor() { sourceType = DataSourceType.OBU } ) + CallerHmiManager.warningV2X( v2xType, alertContent, @@ -631,8 +652,12 @@ class MogoPrivateObuNewManager private constructor() { } MogoObuConstants.STATUS.DELETE -> { // 删除 + Log.d("lixp", "MogoObuConstants.STATUS.DELETE ------3----- ---v2xType = $v2xType ---alertContent = $alertContent ---ttsContent = $ttsContent ---level = $level --ptcId = ${data.participant.ptcId}") // 关闭警告红边 CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON) + //删除弱势交通元素 + CallerMapUIServiceManager.getMarkerService() + ?.removeCvxRvInfoIndInfo(data.participant.ptcId.toString()) } } }