Мой вариант использования связан с использованием RxJava2 с базой данных Firebase.
У меня есть DatabaseReference, и я могу зарегистрироваться дорожить слушателями. Я могу преобразовать его в поток следующим образом:
disposable = Flowable.create<DataSnapshot>({ s ->
dbRef.addValueEventListener(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {...}
override fun onDataChange(value: DataSnapshot) {
s.onNext(value)
}
})
}, BackpressureStrategy.BUFFER)
.subscribe(...)
Я хотел бы иметь возможность удалить слушателя, когда одноразовый утилизируется. Любая идея, как я могу это сделать?
Я видел, что в rxjava 1 было такая возможность может быть, но она недоступна в rxjava2