Я хочу наблюдать за изменениями моего сетевого вызова в моем PageKeyedDataSource и удалении подписки RxJava после выхода пользователя из фрагмента, что приводит к разрушению источника данных.
class ProjectDataSource : PageKeyedDataSource<Int, ProjectPresenter>(), KoinComponent {
...
override fun loadInitial(
params: LoadInitialParams<Int>,
callback: LoadInitialCallback<Int, ProjectPresenter>
) {
val subscription = mProjectRepository.getProjects(DEFAULT_TAKE, 0)
.subscribe(
{ projectPresenters ->
...
},
{ throwable ->
...
}
)
//Where to dispose `subscription`
}
...
}
У меня есть подписка RxJava как в моем репозитории, так и в источнике данных, которые выполняют разные операции с данными. Репозиторий преобразует удаленную модель в модель докладчика и ...
Я не совсем уверен, что наблюдать за данными внутри DataSource - хорошая идея.