diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/FinishLoadingStyleIdlingResource.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/FinishLoadingStyleIdlingResource.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/FinishLoadingStyleIdlingResource.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/FinishLoadingStyleIdlingResource.java new file mode 100644 index 0000000000..323d2c0f15 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/FinishLoadingStyleIdlingResource.java @@ -0,0 +1,35 @@ +package com.mapbox.mapboxsdk.testapp.utils; + +import android.app.Activity; +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.WorkerThread; +import com.mapbox.mapboxsdk.maps.MapboxMap; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class FinishLoadingStyleIdlingResource extends MapboxIdlingResource { + + @WorkerThread + public FinishLoadingStyleIdlingResource(final Activity activity) { + new Handler(Looper.getMainLooper()).post(() -> inflateMap(activity)); + } + + @Override + public void initMap(MapboxMap mapboxMap) { + super.initMap(mapboxMap); + mapboxMap.getStyle(style -> { + assertNotNull(style); + assertTrue(style.isFullyLoaded()); + if (resourceCallback != null) { + resourceCallback.onTransitionToIdle(); + } + }); + } + + @Override + public boolean isIdleNow() { + return getMapboxMap() != null && getMapboxMap().getStyle() != null; + } +}
\ No newline at end of file |