summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/TestingAsyncUtils.kt
blob: a2446715d26191f2b3edb7ccd428ddbf4a98a0ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.mapbox.mapboxsdk.testapp.utils

import androidx.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)
    }
  }
}