From c59c7f2ced385b96e227af6bd114fa9ef5d0bda7 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 12 Dec 2018 16:57:40 +0100 Subject: [android] - espresso tests rework --- .../testapp/utils/LoadStyleIdlingResource.java | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/LoadStyleIdlingResource.java (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/LoadStyleIdlingResource.java') diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/LoadStyleIdlingResource.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/LoadStyleIdlingResource.java new file mode 100644 index 0000000000..5dead21fbb --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/LoadStyleIdlingResource.java @@ -0,0 +1,40 @@ +package com.mapbox.mapboxsdk.testapp.utils; + +import android.app.Activity; +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.UiThread; +import android.support.annotation.WorkerThread; +import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class LoadStyleIdlingResource extends MapboxIdlingResource { + + private Style style; + + @WorkerThread + public LoadStyleIdlingResource(final Activity activity) { + new Handler(Looper.getMainLooper()).post(() -> inflateMap(activity)); + } + + @UiThread + public void initMap(MapboxMap mapboxMap) { + super.initMap(mapboxMap); + mapboxMap.setStyle("asset://streets.json", style -> { + assertNotNull(style); + assertTrue(style.isFullyLoaded()); + this.style = style; + if (resourceCallback != null) { + resourceCallback.onTransitionToIdle(); + } + }); + } + + @Override + public boolean isIdleNow() { + return style != null; + } +} \ No newline at end of file -- cgit v1.2.1