[dev_robotaxi-d-app-module_2132_221223_2.13.2_sop] 解决可能得空指针问题

This commit is contained in:
lixiaopeng
2023-02-17 17:25:11 +08:00
parent 19528e511d
commit c911616702
3 changed files with 21 additions and 24 deletions

View File

@@ -22,6 +22,7 @@ class MoGoObuProvider : IMoGoObuProvider {
private var mContext: Context? = null
private val taxiObuIp = "192.168.1.199" //taxi和bus网段统一
// private val taxiObuIp = "192.168.0.53" //室内测试环境
override val functionName: String
get() = TAG

View File

@@ -1,6 +1,7 @@
package com.mogo.eagle.core.function.obu.mogo
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.enums.*
@@ -197,7 +198,7 @@ class MogoPrivateObuNewManager private constructor() {
if (HmiBuildConfig.isShowObuV2vView) {
mObuStatusInfo.obuRvStatus = true
CallerObuListenerManager.invokeListener(mObuStatusInfo)
if (!data.warningMsg.warningData.isNullOrEmpty()) {
if (data.warningMsg != null) {
// 更新数据远车数据之前要匹配uuid
TrafficDataConvertUtilsNew.cvxRvInfoIndInfo2TrafficData(data)?.let {
CallerMapUIServiceManager.getMarkerService()?.updateITrafficLocationInfo(it)
@@ -213,29 +214,26 @@ class MogoPrivateObuNewManager private constructor() {
var appId = ""
var level = -1
var status = -1
data.warningMsg?.let {
if (data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel
appId = data.warningMsg.warningData[0].warningType.toString()
status = data.warningMsg.warningData[0].status
//30秒内同一个事件只出现一次
if (rvMap.containsKey(appId)) {
var oldTime = rvMap[appId]
var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000
if (timeDiff < 30) {
return
}
rvMap.remove(appId)
rvMap[appId] = System.currentTimeMillis()
} else {
rvMap[appId] = System.currentTimeMillis()
if (data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel
appId = data.warningMsg.warningData[0].warningType.toString()
status = data.warningMsg.warningData[0].status
//30秒内同一个事件只出现一次
if (rvMap.containsKey(appId)) {
var oldTime = rvMap[appId]
var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000
if (timeDiff < 30) {
return
}
rvMap.remove(appId)
rvMap[appId] = System.currentTimeMillis()
} else {
rvMap[appId] = System.currentTimeMillis()
}
//拼凑数据
if (appId != null) {
handleSdkObu(appId, direction, status, level, data)
}
//拼凑数据
if (appId != null) {
handleSdkObu(appId, direction, status, level, data)
}
}