blob: fa6b73277005c209c4be31f21b1fc397e319d428 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package com.mapbox.mapboxsdk.plugins.utils
import android.os.Handler
import android.os.Looper
import android.support.test.espresso.IdlingResource
import com.mapbox.mapboxsdk.maps.MapboxMap
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback
import com.mapbox.mapboxsdk.maps.SupportMapFragment
class OnMapFragmentReadyIdlingResource(fragment: SupportMapFragment?) : IdlingResource, OnMapReadyCallback {
lateinit var mapboxMap: MapboxMap
private var resourceCallback: IdlingResource.ResourceCallback? = null
init {
Handler(Looper.getMainLooper()).post {
fragment?.getMapAsync(this)
}
}
override fun getName(): String {
return javaClass.simpleName
}
override fun isIdleNow(): Boolean {
return this::mapboxMap.isInitialized
}
override fun registerIdleTransitionCallback(resourceCallback: IdlingResource.ResourceCallback) {
this.resourceCallback = resourceCallback
}
override fun onMapReady(mapboxMap: MapboxMap) {
this.mapboxMap = mapboxMap
resourceCallback?.onTransitionToIdle()
}
}
|