[2.13.2] 修改弱势交通删除逻辑,修改限速来源字体颜色
This commit is contained in:
@@ -960,7 +960,6 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
|
||||
CallerAutoPilotManager.sendTripInfo(5, "", "", "", false)
|
||||
}
|
||||
}
|
||||
|
||||
if (warningContent.isEmpty()) {
|
||||
CallerLogger.e("$M_HMI$TAG", "Show warningContent is null or empty!")
|
||||
return
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -247,6 +247,7 @@ class MogoPrivateObuNewManager private constructor() {
|
||||
val rvMap = mutableMapOf<String, Long>()
|
||||
val rsiMap = mutableMapOf<String, Long>()
|
||||
val rsmMap = mutableMapOf<String, Long>()
|
||||
val rsmPtcIdMap = mutableMapOf<String, Long>()
|
||||
|
||||
/**
|
||||
* 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())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user