给220
0.0.58.5
2.1.16.5
1、修复应用杀进程后快速重启异常crash
2、针对模型加载失败增加了重试机制

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-01-14 13:11:04 +08:00
parent 3e808c1940
commit 05141a40bd
10 changed files with 135 additions and 149 deletions

View File

@@ -1,13 +1,13 @@
package com.mogo.module.common.drawer;
import android.content.Context;
import android.text.TextUtils;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.data.enums.TrafficTypeEnum;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
@@ -62,6 +62,7 @@ public class IdentifyDataDrawer {
public void renderAdasRecognizedResult(ArrayList<TrafficData> resultList) {
if (resultList == null || resultList.isEmpty() || !DebugConfig.isUseAdasRecognize()) {
clearOldMarker();
Logger.w(TAG, "感知数据为空无需渲染……");
return;
}
@@ -100,19 +101,6 @@ public class IdentifyDataDrawer {
}
/**
* 过滤无用数据
*
* @param recognizedListResult {@link TrafficData}
* @return useless
*/
private boolean isUselessValue(TrafficData recognizedListResult) {
if (recognizedListResult == null) {
return true;
}
String uniqueKey = recognizedListResult.getUuid();
return TextUtils.isEmpty(uniqueKey);
}
/**
* 清除旧的 marker 数据
@@ -124,42 +112,45 @@ public class IdentifyDataDrawer {
}
private void addPreVehicleModel() {
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS.getTraffic3DIconId());
MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.getType(),
TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK.getTraffic3DIconId());
Logger.d(TAG, "添加感知模型到地图中……");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI, "添加感知模型到地图中……preVehicleStrWeiZhi=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_PEOPLE, "添加感知模型到地图中……preVehicleStrPeople=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_BICYCLE, "添加感知模型到地图中……preVehicleStrBicycle=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_TA_CHE, "添加感知模型到地图中……preVehicleStrTaChe=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_MOTO, "添加感知模型到地图中……preVehicleStrMoto=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_BUS, "添加感知模型到地图中……preVehicleStrBus=");
addPreVehicleModelWeiZhi(TrafficTypeEnum.TYPE_TRAFFIC_ID_TRUCK, "添加感知模型到地图中……preVehicleStrTruck=");
}
/**
* 添加模型到地图中
*
* @param typeTrafficIdWeiZhi
* @param s
*/
private void addPreVehicleModelWeiZhi(TrafficTypeEnum typeTrafficIdWeiZhi, String s) {
String preVehicleStrWeiZhi = MogoApisHandler.getInstance().getApis()
.getMapServiceApi()
.getMarkerManager(mContext)
.addPreVehicleModel(typeTrafficIdWeiZhi.getType(),
typeTrafficIdWeiZhi.getTraffic3DIconId());
Logger.d(TAG, s + preVehicleStrWeiZhi);
if (preVehicleStrWeiZhi == null) {
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
Logger.w(TAG, "添加感知模型到地图中失败,尝试重复添加……");
addPreVehicleModelWeiZhi(typeTrafficIdWeiZhi, s);
}
}, 1000L);
}
}
}