diff --git a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java index 2582b8433c..359e6955cd 100644 --- a/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/bus/passenger/src/main/java/jinlv/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java @@ -234,12 +234,6 @@ public class BusPassengerRouteFragment extends @Override public void onDestroyView() { - IMoGoOverlayManager overlayManager = CallerMapUIServiceManager.INSTANCE.getOverlayManager(); - if(overlayManager!=null) { - overlayManager.removeAllLines(); - overlayManager.removeAllPoints(); - } - super.onDestroyView(); } diff --git a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt index a3c9cc0390..549a6ae764 100644 --- a/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt +++ b/OCH/bus/passenger/src/main/java/m2/com/mogo/och/bus/passenger/passenger/ui/PM2HPMapFragment.kt @@ -65,10 +65,6 @@ class PM2HPMapFragment : override fun onDestroyView() { mapBizView.onDestroy() - CallerMapUIServiceManager.getOverlayManager()?.let { - it.removeAllLines() - it.removeAllPoints() - } super.onDestroyView() } diff --git a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt index 6872a4ffb3..4f578763d2 100644 --- a/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt +++ b/OCH/charter/driver/src/main/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt @@ -112,10 +112,6 @@ class DriverM1Fragment : CharterBaseFragment(), IMogo override fun onDestroyView() { mapBizView.onDestroy() omvOverMap.onDestroy() - CallerMapUIServiceManager.getOverlayManager()?.let { - it.removeAllLines() - it.removeAllPoints() - } MogoMapListenerHandler.mogoMapListenerHandler.unregisterHostMapListener(TAG) EventBus.getDefault().unregister(this) if (mPresenter != null) { diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/fragment/ShuttleFragment.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/fragment/ShuttleFragment.java index bb0f5adfa7..252a9793bd 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/fragment/ShuttleFragment.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/fragment/ShuttleFragment.java @@ -89,11 +89,6 @@ public class ShuttleFragment extends BaseShuttleTabFragment(), if (mPresenter != null) { mPresenter?.onDestroy(this) } - CallerMapUIServiceManager.getOverlayManager()?.let { - it.removeAllLines() - it.removeAllPoints() - } CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView)) CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView) startAutopilotAnimationView.cancelCountdown() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt index 5b1c03e659..3e8252681b 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt @@ -245,10 +245,6 @@ class TaxiPassengerBaseFragment() : override fun onDestroyView() { mapBizView!!.onDestroy() overMapView?.onDestroy() - CallerMapUIServiceManager.getOverlayManager()?.let { - it.removeAllLines() - it.removeAllPoints() - } super.onDestroyView() } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt index 6cd150658b..7dbeb7c5bf 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapBizView.kt @@ -138,10 +138,6 @@ class MapBizView(context: Context?, attrs: AttributeSet?) : MogoMapView(context, // 先取消注册数据,再onDestroy CallerChassisLocationWGS84ListenerManager.removeListener(TAG) CallerChassisStatesListenerManager.removeListener(TAG) - CallerMapUIServiceManager.getOverlayManager()?.let { - it.removeAllLines() - it.removeAllPoints() - } super.onDestroy() } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt index 26a6885662..b8252c4243 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt @@ -77,4 +77,6 @@ interface IMoGoOverlayManager { fun hideAllPointsExceptOwners(vararg owners: String) fun updateAnimPoint(options: Point.Options, mapTag:String = DEFAULT) + + fun clear() } \ No newline at end of file diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt b/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt index a4aa911b04..16e7f17d19 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoAutoView.kt @@ -4,6 +4,7 @@ import android.content.Context import android.util.AttributeSet import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.enums.Carmodel.T2 +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.zhidaoauto.map.sdk.inner.abs.IMapController import com.zhidaoauto.map.sdk.inner.abs.IMarkerController @@ -37,4 +38,16 @@ class MoGoAutoView: MapAutoView { return controller.addSelfCar(markerOptions) } } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + Logger.d(TAG, "-- onAttachedToWindow --") + CallerMapUIServiceManager.getOverlayManager()?.clear() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + Logger.d(TAG, "-- onDetachedFromWindow --") + CallerMapUIServiceManager.getOverlayManager()?.clear() + } } \ No newline at end of file diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt index 0854fd3185..8cf4ca2034 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt @@ -458,4 +458,13 @@ internal class MoGoOverlayManagerImpl: IMoGoOverlayManager { override fun updateAnimPoint(options: Options, mapTag:String) { mapInstance.getMogoMap(mapTag)?.addAnimPoint(options) } + + override fun clear() { + synchronized(points) { + points.clear() + } + synchronized(lines) { + lines.clear() + } + } } \ No newline at end of file