diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java index d035e91fb5..caa15d05be 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java @@ -10,12 +10,14 @@ import android.support.test.espresso.IdlingResource; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import junit.framework.Assert; public class OnMapReadyIdlingResource implements IdlingResource, OnMapReadyCallback { + private boolean styleLoaded; private MapboxMap mapboxMap; private IdlingResource.ResourceCallback resourceCallback; @@ -25,11 +27,22 @@ public class OnMapReadyIdlingResource implements IdlingResource, OnMapReadyCallb handler.post(() -> { MapView mapView = activity.findViewById(R.id.mapView); if (mapView != null) { - mapView.getMapAsync(OnMapReadyIdlingResource.this); + mapView.addOnDidFinishLoadingStyleListener(() -> { + styleLoaded = true; + if (resourceCallback != null) { + resourceCallback.onTransitionToIdle(); + } + }); + mapView.getMapAsync(this::initMap); } }); } + private void initMap(MapboxMap mapboxMap) { + this.mapboxMap = mapboxMap; + mapboxMap.setStyle(Style.MAPBOX_STREETS); + } + @Override public String getName() { return getClass().getSimpleName(); @@ -37,7 +50,7 @@ public class OnMapReadyIdlingResource implements IdlingResource, OnMapReadyCallb @Override public boolean isIdleNow() { - return mapboxMap != null; + return styleLoaded; } @Override @@ -53,8 +66,5 @@ public class OnMapReadyIdlingResource implements IdlingResource, OnMapReadyCallb public void onMapReady(@NonNull MapboxMap mapboxMap) { Assert.assertNotNull("MapboxMap should not be null", mapboxMap); this.mapboxMap = mapboxMap; - if (resourceCallback != null) { - resourceCallback.onTransitionToIdle(); - } } }
\ No newline at end of file |