From 5534d59b328d56a1fc63d4cd597c9c82a8837d67 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 13 Apr 2021 19:59:28 +0800 Subject: [PATCH] fix bug of clear marker --- .../java/com/mogo/module/common/drawer/BaseDrawer.java | 1 - .../com/mogo/module/common/drawer/OnlineCarDrawer.java | 10 ++++++++-- .../module/common/drawer/SnapshotSetDataDrawer.java | 10 ++++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java index 491aa86bed..6814fda02f 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java @@ -59,7 +59,6 @@ class BaseDrawer { // 移除过期的 marker public static final int MSG_REMOVE_DIRTY_MARKERS = 9990; - public static final int MSG_REMOVE_ADAS_MARKERS = 9992; /** * 显示速度 diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java index d72eb87fb5..8418f23054 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java @@ -58,6 +58,10 @@ class OnlineCarDrawer { return sInstance; } + public void clearMarkers(){ + MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); + } + /** * 绘制在线车辆marker * @@ -72,12 +76,12 @@ class OnlineCarDrawer { IMogoMarkerClickListener listener ) { // 将数据同步给在线车辆,避免每次 perform 的时候去拉取,造成消耗 if ( onlineCarList == null || onlineCarList.isEmpty() ) { - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); + clearMarkers(); return; } if ( clearOld ) { - MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); + clearMarkers(); } int size = MarkerDrawer.getInstance().getAppropriateSize( maxAmount, onlineCarList ); @@ -191,4 +195,6 @@ class OnlineCarDrawer { } return false; } + + } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index c5e5c5fc5b..26f50e85c4 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -77,16 +77,22 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic private boolean mIsVrMode = false; + /** + * 注册StatusDescriptor.VR_MODE类型,VR_MODE状态改变回调 + * @param descriptor 状态类型 + * @param isTrue true - accOn、adas ui show、voice ui show、push ui show、v2x ui show + */ @Override public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { Logger.d( TAG, "%s - %s", descriptor, isTrue ); mChangeCarModeStatus = true; - sendMessage( MSG_REMOVE_ADAS_MARKERS, mMarkersCaches ); + sendMessage( MSG_REMOVE_DIRTY_MARKERS, mMarkersCaches ); mMarkersCaches = new HashMap<>(); if ( mLastPositions != null ) { mLastPositions.clear(); } - AdasRecognizedResultDrawer.getInstance().notifyVrModeChanged(); + AdasRecognizedResultDrawer.getInstance().notifyVrModeChanged(); //清除ADAS old marker data + OnlineCarDrawer.getInstance().clearMarkers(); //清除在线车辆 old marker data } public boolean isVrMode() {