From a59b7644b379aeba9a99dcd69ed42a78d375dd73 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 15 Apr 2021 15:20:50 +0800 Subject: [PATCH] fix bug of clearOnlineCarData --- .../module/common/drawer/OnlineCarDrawer.java | 17 ++++++++++------- .../common/drawer/SnapshotSetDataDrawer.java | 1 - 2 files changed, 10 insertions(+), 8 deletions(-) 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 8418f23054..58f16cadd5 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 @@ -13,6 +13,8 @@ import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerOnlineCar; import com.mogo.module.common.entity.MarkerShowEntity; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; import java.util.ArrayList; @@ -26,7 +28,7 @@ public * * 描述 */ -class OnlineCarDrawer { +class OnlineCarDrawer implements IMogoStatusChangedListener { private static final String TAG = "OnlineCarDrawer"; @@ -36,6 +38,9 @@ class OnlineCarDrawer { private static volatile OnlineCarDrawer sInstance; private OnlineCarDrawer() { + MogoApisHandler.getInstance().getApis() + .getStatusManagerApi() + .registerStatusChangedListener( TAG, StatusDescriptor.VR_MODE, this ); } public static OnlineCarDrawer getInstance() { @@ -53,11 +58,6 @@ class OnlineCarDrawer { sInstance = null; } - private Object readResolve() { - // 阻止反序列化,必须实现 Serializable 接口 - return sInstance; - } - public void clearMarkers(){ MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); } @@ -196,5 +196,8 @@ class OnlineCarDrawer { return false; } - + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + clearMarkers(); + } } 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 ba8ba13c89..0c3e3f2bb8 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 @@ -92,7 +92,6 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic mLastPositions.clear(); } AdasRecognizedResultDrawer.getInstance().notifyVrModeChanged(); //清除ADAS old marker data - OnlineCarDrawer.getInstance().clearMarkers(); //清除在线车辆 old marker data } public boolean isVrMode() {