Подписка RxJava не работает после добавления в CompositeDisposable - PullRequest
0 голосов
/ 11 июля 2019

Я использую RxJava Flowable with Room, где я слушаю изменения в таблице. Проблема, как уже упоминалось, заключается в том, что when the result of subscribe, a disposable, is added to a CompositeDisposable, it immediately unsubscribes.

Ниже приведен соответствующий код:

repo.getFlowable(id)
                ?.doOnDispose { Timber.i("Unsubscribed") }
                ?.doOnDispose { Timber.i("Disposed") }
                ?.subscribe({
                    Timber.i("Subscribed")
                }, {
                    Timber.e(it)

                })?.apply {
                    compositeDisposables.add(this)
                }

Когда добавлен блок применения, сразу же печатаются «Отписанные» и «Уничтоженные» even though "compositeDisposables.dispose()" is not called.

Без блока применения он работает как положено.

Это ожидаемое поведение? Почему подписка утилизируется сразу, когда Composite Disposable еще не утилизирован?

...