Slide 59
Slide 59 text
override fun addToFavourite(cat: Cat) {
api.addToFavourite (cat)
.map { Pair(cat, FavouriteState .FAVOURITE) }
.onErrorReturn { Pair(cat, FavouriteState .UN_FAVOURITE) }
.startWith(Pair(cat, FavouriteState .PENDING_FAVOURITE))
.doOnNext { repository.saveCatFavoriteStatus (it) }
.subscribe {
val value = favouriteCatsSubject.value
val favouriteCats = value.data ?: FavouriteCats(mapOf())
favouriteCatsSubject.onNext(Event.of(favouriteCats.put(it)))
}
}
Modification are actions