Im wrapping custom library (dataClient) callback api to RxJava Flowable. The dataClient uses its own threading, so it's callback is called on its own thread.
In my Rx chain, I try to specify computation scheduler using .subscribeOn(Schedulers.computation()). Still, when I print thread name on my Rx chain, im getting my dataClient thread.
What I should do, to make my Flowable to use thread specified in .subscribeOn()?
Flowable.create({ emitter ->
dataClient.setCallback(object : Callback {
override fun message(message: DataModel) {
emitter.onNext(vehicle)
}
override fun done() {
emitter.onComplete()
}
})
emitter.setCancellable {
dataClient.setCallback(null)
}
}, BackpressureStrategy.BUFFER)
.subscribeOn(Schedulers.computation())
.doOnNext { Log.e("DATA", Thread.currentThread().name) }
.observeOn(AndroidSchedulers.mainThread())
.subscribe { data -> Log.d("DATA", "Got data" + data.id)) }