summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/MapboxIdlingResource.java7
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt18
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/Utils.java23
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