diff --git a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml index 4a4c78a268..b439da6d85 100644 --- a/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-main/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ - + trafficData) { try { - if (trafficData == null) { - IdentifyDataDrawer.getInstance().clearOldMarker(); - } else { - if (FunctionBuildConfig.isDrawIdentifyData) { - ThreadUtils.getSinglePool().execute(() -> - IdentifyDataDrawer.getInstance().renderAdasRecognizedResult(trafficData) - ); - } else { - IdentifyDataDrawer.getInstance().clearOldMarker(); - } + if (FunctionBuildConfig.isDrawIdentifyData) { + ThreadUtils.getSinglePool().execute(() -> + IdentifyDataDrawer.getInstance().renderAdasRecognizedResult(trafficData) + ); } } catch (Exception e) { e.printStackTrace(); - IdentifyDataDrawer.getInstance().clearOldMarker(); } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java index e42f534646..64a3d07820 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java @@ -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 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); + } } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java index 8cb9813950..7135b012ea 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java @@ -45,13 +45,13 @@ class MogoMainService extends Service implements IMogoLocationListener { mServiceApis = MogoApisHandler.getInstance().getApis(); initAndStartLocation(); UiThreadHandler.postDelayed(() -> { - Logger.d(TAG, "4秒已过,启动基础服务……"); + Logger.d(TAG, "5秒已过,启动基础服务……"); loadBaseModules(); startTanluService(); initADAS(); initGpsSimulatorListener(); HdMapBuildConfig.isMapLoaded = true; - }, 4_000L + }, 5_000L ); // 开启延时检测 DelayCheckUtil delayCheckUtil = new DelayCheckUtil(this);