ghedeon
03/06/2019, 1:36 PMGlobalScope.rxFlowable{}
?gildor
03/06/2019, 1:42 PMgildor
03/06/2019, 1:43 PMgildor
03/06/2019, 1:44 PMghedeon
03/06/2019, 1:45 PMrunBlocking
didn't helpgildor
03/06/2019, 1:46 PMgildor
03/06/2019, 1:47 PMghedeon
03/06/2019, 1:48 PMghedeon
03/06/2019, 1:52 PMLiveDataReactiveStreams.fromPublisher(flowable)
. So, what ends up in the public API is the livedata, backed by this flowable.ghedeon
03/06/2019, 1:53 PMliveData.observeForever(observer)
and naturally, the observer is flaky.ghedeon
03/06/2019, 1:54 PM@Test
fun foo() {
// given
val call: () -> Unit = mock()
val flowable = GlobalScope.rxFlowable {
call()
send("Foo")
}
val liveData = LiveDataReactiveStreams.fromPublisher(flowable)
// when
liveData.observeForever(mock())
// then
verify(call).invoke()
}
ghedeon
03/06/2019, 1:56 PMghedeon
03/06/2019, 2:10 PMrxFlowable
then...elizarov
03/06/2019, 2:13 PMGlobalScope.rxFlowable(Dispatchers.Unconfined)
ghedeon
03/06/2019, 2:13 PMrxFlowable(Dispatchers.Unconfined)
elizarov
03/06/2019, 2:13 PMghedeon
03/06/2019, 2:13 PMelizarov
03/06/2019, 2:13 PMghedeon
03/06/2019, 2:16 PMGlobalScope.rxFlowable{}.subscribeOn(scheduler)
? Shouldn't provided rx scheduler somehow replace the coroutine dispatcher? Doesn't seem like it's happening now.elizarov
03/07/2019, 6:43 AM