From bb5b558f21c56872127540c7c5b0324d6286e505 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Thu, 18 Oct 2018 15:19:04 +0200 Subject: [android] - harden activation/deactivation of underlying ref counting components --- .../src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'platform/android/MapboxGLAndroidSDK/src') diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index ca7fd213c9..10ac5a1bbe 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -89,6 +89,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { private MapKeyListener mapKeyListener; @Nullable private Bundle savedInstanceState; + private boolean isActivated; @UiThread public MapView(@NonNull Context context) { @@ -345,8 +346,11 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { */ @UiThread public void onStart() { - ConnectivityReceiver.instance(getContext()).activate(); - FileSource.getInstance(getContext()).activate(); + if (!isActivated) { + ConnectivityReceiver.instance(getContext()).activate(); + FileSource.getInstance(getContext()).activate(); + isActivated = true; + } if (mapboxMap != null) { mapboxMap.onStart(); } @@ -391,8 +395,11 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { mapRenderer.onStop(); } - ConnectivityReceiver.instance(getContext()).deactivate(); - FileSource.getInstance(getContext()).deactivate(); + if (isActivated) { + ConnectivityReceiver.instance(getContext()).deactivate(); + FileSource.getInstance(getContext()).deactivate(); + isActivated = false; + } } /** -- cgit v1.2.1