diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils')
3 files changed, 24 insertions, 24 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/MapboxIdlingResource.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/MapboxIdlingResource.java index 2a4cfee01a..a05221d618 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/MapboxIdlingResource.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/MapboxIdlingResource.java @@ -9,12 +9,13 @@ import com.mapbox.mapboxsdk.testapp.R; public abstract class MapboxIdlingResource implements IdlingResource { + private MapView mapView; private MapboxMap mapboxMap; IdlingResource.ResourceCallback resourceCallback; @UiThread void inflateMap(Activity activity) { - MapView mapView = activity.findViewById(R.id.mapView); + mapView = activity.findViewById(R.id.mapView); if (mapView != null) { mapView.getMapAsync(this::initMap); } @@ -38,4 +39,8 @@ public abstract class MapboxIdlingResource implements IdlingResource { public MapboxMap getMapboxMap() { return mapboxMap; } + + public MapView getMapView() { + return mapView; + } }
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt new file mode 100644 index 0000000000..7c23d8d63c --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt @@ -0,0 +1,18 @@ +package com.mapbox.mapboxsdk.testapp.utils + +import android.support.test.espresso.UiController +import com.mapbox.mapboxsdk.maps.MapView + +object TestingAsyncUtils { + private const val DEFAULT_TIMEOUT = 15_000L + + fun waitForLayer(uiController: UiController, mapView: MapView) { + val start = System.nanoTime() / 1E6 + var isIdle = false + mapView.addOnDidBecomeIdleListener { isIdle = true } + + while (!isIdle && System.nanoTime() / 1E6 - start < DEFAULT_TIMEOUT) { + uiController.loopMainThreadForAtLeast(100) + } + } +}
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/Utils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/Utils.java deleted file mode 100644 index c1aedc5823..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/Utils.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.utils; - -import android.support.test.espresso.UiController; - -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.maps.MapboxMap; - -import static org.junit.Assert.assertFalse; - -public class Utils { - - private static final long WAIT_TIMEOUT = 5000; - private static final long WAIT_DELAY = 150; - - public static void waitForLayer(UiController uiController, MapboxMap mapboxMap, LatLng latLng, String... layerIds) { - int i = 0; - while (mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng), layerIds).isEmpty()) { - i++; - assertFalse("Waiting for layer timed out", i * WAIT_DELAY > WAIT_TIMEOUT); - uiController.loopMainThreadForAtLeast(WAIT_DELAY); - } - } -}
\ No newline at end of file |