oday
12/08/2020, 12:29 PMObservable.interval(2000, TimeUnit.MILLISECONDS)
.repeatUntil {
System.currentTimeMillis() - startTime > 10000
true
}
.subscribe {
purchaseFlowStore
.getTransaction(transactionId)
.viewModelSubscription({
when (it.state) {
"done", "authorized" -> {
getOrder()
}
"error" -> {
showErrorDialog()
}
}
}, {
showErrorDialog()
})
}
myanmarking
12/09/2020, 12:09 PMclass RxTest {
private val count = AtomicInteger(0)
private fun getEndpointValue(): Observable<Int>{
return Observable.just(count.getAndIncrement())
}
@Test
fun `test interval` () {
Assert.assertEquals(
Observable.interval(0, 1, TimeUnit.SECONDS)
.switchMap { getEndpointValue() }
.filter { value -> value == 5 }
.take(1)
.blockingFirst(),
5
)
}
}