From 197cc1ef9f89afa2fca090cb7f16bcc98842f3e8 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Tue, 6 Nov 2018 11:48:29 +0100 Subject: [android] - handle null getMapAsync invocations, deliver onMapReady only once --- .../src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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 0a5e2455e1..560d18d17d 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 @@ -1578,13 +1578,18 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { } } + /** + * Notify listeners, clear when done + */ private void onMapReady() { if (onMapReadyCallbackList.size() > 0) { - // Notify listeners, clear when done Iterator iterator = onMapReadyCallbackList.iterator(); while (iterator.hasNext()) { OnMapReadyCallback callback = iterator.next(); - callback.onMapReady(mapboxMap); + if (callback != null) { + // null checking required for #13279 + callback.onMapReady(mapboxMap); + } iterator.remove(); } } @@ -1619,6 +1624,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { public void onDidFinishLoadingStyle() { if (mapboxMap != null) { if (initialLoad) { + initialLoad = false; mapboxMap.onPreMapReady(); onMapReady(); mapboxMap.onPostMapReady(); @@ -1626,7 +1632,6 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { mapboxMap.onFinishLoadingStyle(); } } - initialLoad = false; } @Override -- cgit v1.2.1