summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt18
1 files changed, 18 insertions, 0 deletions
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