blob: 0fdf100c05f29f3b73987dc78a03873d694f2728 [file] [log] [blame]
package com.airbnb.lottie.samples
import androidx.test.espresso.IdlingResource
import com.airbnb.lottie.LottieCompositionFactory
class LottieIdlingResource(private val name: String = "Lottie") : IdlingResource {
private var callback: IdlingResource.ResourceCallback? = null
private var isIdle = false
init {
LottieCompositionFactory.registerLottieTaskIdleListener { idle ->
isIdle = idle
if (idle) {
callback?.onTransitionToIdle()
}
}
}
override fun getName() = name
override fun isIdleNow() = isIdle
override fun registerIdleTransitionCallback(callback: IdlingResource.ResourceCallback) {
this.callback = callback
if (isIdle) callback.onTransitionToIdle()
}
}