[2.13.0-arch-opt] fix obu bug of list is null

This commit is contained in:
zhongchao
2023-02-24 15:05:06 +08:00
parent d8d05f10f5
commit 5d378b833b
7 changed files with 25 additions and 91 deletions

View File

@@ -45,16 +45,17 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
if (Boolean.valueOf(USE_MAVEN_PACKAGE)) {
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
implementation project(":foudations:mogo-aicloud-services-sdk")
implementation project(":tts:tts-base")
implementation project(':core:mogo-core-data')
} else {
implementation rootProject.ext.dependencies.androidxccorektx
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
implementation rootProject.ext.dependencies.rxandroid
kapt rootProject.ext.dependencies.aroutercompiler
@@ -62,6 +63,8 @@ dependencies {
kapt rootProject.ext.dependencies.androidxroomcompiler
implementation rootProject.ext.dependencies.androidxroomktx
implementation project(':libraries:mogo-obu')
implementation project(':libraries:mogo-adas')
implementation rootProject.ext.dependencies.mogoaicloudtelematic
implementation project(':core:mogo-core-function-call')
implementation project(":foudations:mogo-commons")

View File

@@ -154,11 +154,14 @@ class MogoPrivateObuNewManager private constructor() {
if (HmiBuildConfig.isShowObuV2vView) {
if (data.warningMsg != null) {
// 更新数据远车数据之前要匹配uuid
TrafficDataConvertUtilsNew.cvxRvInfoIndInfo2TrafficData(data.vehBasicsMsg)
?.let {
CallerMapUIServiceManager.getMarkerService()
?.updateITrafficLocationInfo(it)
}
data.vehBasicsMsg?.let {
TrafficDataConvertUtilsNew.cvxRvInfoIndInfo2TrafficData(it)
?.let { data ->
CallerMapUIServiceManager.getMarkerService()?.updateITrafficLocationInfo(data)
}
}.also {
CallerLogger.e("$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", "cvxRvInfoIndInfo2TrafficData 数据转换异常,请检查参数是否齐全")
}
CallerLogger.d("$M_OBU${MogoObuConst.TAG_MOGO_NEW_OBU}", data.toString())
//预警信息,预警类型 threat_level 2、3
@@ -952,7 +955,12 @@ class MogoPrivateObuNewManager private constructor() {
* 保存obu直连数据到消息盒子
*/
private fun saveObuData(type: String, content: String, tts: String) {
CallerObuSaveMessageListenerManager.invokeObuSaveMessage(type, content, tts, DataSourceType.OBU)
CallerObuSaveMessageListenerManager.invokeObuSaveMessage(
type,
content,
tts,
DataSourceType.OBU
)
}
/**

View File

@@ -6,9 +6,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
import com.mogo.support.obu.ObuBase
import com.mogo.support.obu.ObuScene
import com.mogo.support.obu.model.MogoObuRsiWarningData
import com.mogo.support.obu.model.MogoObuRsmWarningData
import com.mogo.support.obu.model.MogoObuRvWarningData
/**
* @description 自研obu数据转换
@@ -23,10 +20,6 @@ object TrafficDataConvertUtilsNew {
* OBU 远车 转换交通元素数据,是否需要
*/
fun cvxRvInfoIndInfo2TrafficData(info: ObuBase.VehicleBasics): TrafficData? {
if (info == null) {
CallerLogger.e("$M_OBU$TAG", "cvxRvInfoIndInfo2TrafficData 数据转换异常,请检查参数是否齐全")
return null
}
val trafficData = TrafficData()
trafficData.type = TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE
trafficData.uuid = info.id
@@ -59,7 +52,7 @@ object TrafficDataConvertUtilsNew {
* OBU 预警事件 转换交通元素数据 他车预警
*/
fun cvxV2vThreatIndInfo2TrafficData(info: ObuScene.RvWarningData): TrafficData? {
if (info?.vehBasicsMsg == null || info.warningMsg == null) {
if (info.vehBasicsMsg == null || info.warningMsg == null) {
CallerLogger.e("$M_OBU$TAG", "数据转换异常,请检查参数是否齐全")
return null
}
@@ -70,7 +63,7 @@ object TrafficDataConvertUtilsNew {
trafficData.heading = info.vehBasicsMsg.heading
trafficData.speed = info.vehBasicsMsg.speed
// 判断车辆V2X预警级别调整车辆颜色
if (info.warningMsg.warningDataList != null) {
if (info.warningMsg.warningDataList != null && info.warningMsg.warningDataList.size > 0) {
trafficData.threatLevel = info.warningMsg.warningDataList[0].warningLevel
} else {
trafficData.threatLevel = 1
@@ -123,7 +116,7 @@ object TrafficDataConvertUtilsNew {
}
// 判断车辆V2X预警级别调整车辆颜色
if (info.warningMsg != null && info.warningMsg.warningDataList != null) {
if (info.warningMsg != null && info.warningMsg.warningDataList != null && info.warningMsg.warningDataList.size > 0) {
trafficData.threatLevel = info.warningMsg.warningDataList[0].warningLevel
} else {
trafficData.threatLevel = 1

View File

@@ -71,18 +71,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogoservicebiz
//okhttp3的依赖
implementation 'com.squareup.okhttp3:okhttp:3.12.3'
// parser
// implementation rootProject.ext.dependencies.gson
implementation project(':libraries:mogo-adas-data')
// logger
//implementation 'com.orhanobut:logger:2.2.0'
//ProtoBuf
// implementation 'com.google.protobuf:protobuf-java:3.6.1'
// implementation 'com.google.protobuf:protoc:3.6.1'
// implementation 'com.google.protobuf:protobuf-java-util:3.6.1'
// api project(path: ':lib_recorder')
// api "com.zhidao.support.recorder:recorder:1.0.0.3"
}
task androidSourcesJar(type: Jar) {

View File

@@ -3,7 +3,6 @@ package com.zhidao.support.obu;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mogo.support.obu.MogoObuManager;
import com.mogo.support.obu.ObuBase;
@@ -112,7 +111,6 @@ public class ObuManager {
* @return 版本 null表示 无法连接OBU无法获取版本
* @since 1.1.0
*/
@Nullable
public String getObuVersion() {
return MogoObuManager.getInstance().getObuVersion();
}

View File

@@ -1,54 +0,0 @@
package com.zhidao.support.obu;
import com.mogo.support.obu.constants.MogoObuConstants;
import com.mogo.support.obu.model.MogoObuHvBasicsData;
import com.mogo.support.obu.model.advance.AccFourAxes;
import com.mogo.support.obu.model.advance.VehBasics;
import com.mogo.support.obu.model.advance.VehControl;
import com.mogo.support.obu.model.advance.VehSize;
public class Test {
private int have(int unitMask, int mask) {
unitMask += mask;
return unitMask;
}
public void buildMogoObuHvBasicsData() {
int vehBasicsUnitMask = 0;
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ID);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SEC_MARK);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LATITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.LONGITUDE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ELEVATION);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.SPEED);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.HEADING);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.ACC_FOUR_AXES);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_SIZE);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CLASS);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.VEH_CONTROL_MSG);
vehBasicsUnitMask = have(vehBasicsUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_BASICS.TARGET_POSITION);
VehBasics vehBasics = new VehBasics(vehBasicsUnitMask);
vehBasics.setId("aaa");
vehBasics.setLatitude(10000000);
vehBasics.setLongitude(20000000);
vehBasics.setElevation(2000);
vehBasics.setSpeed(3000);
vehBasics.setHeading(4000);
vehBasics.setAccFourAxes(new AccFourAxes(200, 201, 202, 203));
vehBasics.setVehSize(new VehSize(300, 301, 302));
vehBasics.setVehClass(303);
int vehControlUnitMask = 0;
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.BRAKE_PEDAL_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.TRANSMISSION_STATUS);
vehControlUnitMask = have(vehControlUnitMask, MogoObuConstants.UNIT_MASK.MOGO_OBU_VEH_CONTROL.EXTERIOR_LIGHTS);
VehControl vehControl = new VehControl(vehControlUnitMask);
vehControl.setBrakePedalStatus(401);
vehControl.setTransmissionStatus(402);
vehControl.setExteriorLights(403);
vehBasics.setVehControlMsg(vehControl);
vehBasics.setTargetPosition(8);
MogoObuHvBasicsData data = new MogoObuHvBasicsData(1, vehBasics);
}
}

View File

@@ -1,3 +0,0 @@
<resources>
<string name="app_name">mogo-obu</string>
</resources>