From 8b9e6d846cd872f8d2882dd5940c1344e8ff262d Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 15 Apr 2021 15:21:39 +0800 Subject: [PATCH] fix bug of clear OnlineCarData --- .../module/common/drawer/OnlineCarDrawer.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 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(); + } }