From 05141a40bd892508010224f14cb9227e13bba0d4 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Fri, 14 Jan 2022 13:11:04 +0800 Subject: [PATCH] =?UTF-8?q?[Upload]=20=E7=BB=99220=200.0.58.5=202.1.16.5?= =?UTF-8?q?=201=E3=80=81=E4=BF=AE=E5=A4=8D=E5=BA=94=E7=94=A8=E6=9D=80?= =?UTF-8?q?=E8=BF=9B=E7=A8=8B=E5=90=8E=E5=BF=AB=E9=80=9F=E9=87=8D=E5=90=AF?= =?UTF-8?q?=E5=BC=82=E5=B8=B8crash=202=E3=80=81=E9=92=88=E5=AF=B9=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E9=87=8D=E8=AF=95=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../src/main/AndroidManifest.xml | 4 +- gradle.properties | 154 +++++++++--------- .../com/mogo/map/impl/custom/AMapWrapper.java | 5 +- .../map/impl/custom/CustomMapApiBuilder.java | 2 +- .../src/main/java/com/mogo/map/IMogoMap.java | 2 +- .../mogo/map/marker/IMogoMarkerManager.java | 2 +- .../java/com/mogo/map/MogoMarkerManager.java | 5 +- .../mogo/module/adas/AdasEventManager.java | 17 +- .../common/drawer/IdentifyDataDrawer.java | 89 +++++----- .../module/main/service/MogoMainService.java | 4 +- 10 files changed, 135 insertions(+), 149 deletions(-) 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);