From f560b4f9efebb4d448181724304f63b683a26b67 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 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 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 20bb49f140..d6dcce434d 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 @@ -1149,13 +1149,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(); } } @@ -1190,6 +1195,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback { public void onDidFinishLoadingStyle() { if (mapboxMap != null) { if (initialLoad) { + initialLoad = false; mapboxMap.onPreMapReady(); onMapReady(); mapboxMap.onPostMapReady(); -- cgit v1.2.1