in GithubBrowserSample/app/src/test-common/java/com/android/example/github/util/CountingAppExecutors.kt [63:79]
fun drainTasks(time: Int, timeUnit: TimeUnit) {
val end = System.currentTimeMillis() + timeUnit.toMillis(time.toLong())
while (true) {
synchronized(lock) {
if (taskCount == 0) {
return
}
val now = System.currentTimeMillis()
val remaining = end - now
if (remaining > 0) {
lock.wait(remaining)
} else {
throw TimeoutException("could not drain tasks")
}
}
}
}