ursus
05/31/2019, 5:04 PMPresenter {
val stateRelay = BehalviourRelay.createDefault(PresenterState())
val stateObservable: Observable<PresenterState>
get() = stateRelay
init {
disposables += downloadManager.eventsObservable(...)
.subscribe { events ->
when(event) {
is Started -> ...
is Error -> ...
is Success -> {
stateRelay.accept { it.copy(listOfData = event.listOfData )}
}
}
}
fun downloadPleaseClick() {
// Imperative trigger
downloadManager.downloadSomething(param)
}
fun onDestroy() {
disposables.clear()
}
}