Преобразование потока RxJava - PullRequest
0 голосов
/ 06 ноября 2018

В репо объявлены следующие функции:

fun loadAllNotifications(): Single<List<Notification>>

fun insertAll(notifications: List<Notification>): Completable

Что я хотел бы сделать, это loadAllNotifications(), а затем для каждого Notification сбросить свой флаг isOpened на false, выполнив что-то вроде

val updatedNotification = currentNotification.copy(isOpened = false)

Как только у меня будет список уведомлений с isOpened, установленным на false, я бы хотел передать этот список в insertAll(list)

Как бы я сделал выше в одной RxChain? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 06 ноября 2018
loadAllNotifications()
        .flatMapObservable { Observable.fromIterable(it) }
        .map { it.copy(isOpened = false) }
        .toList()
        .flatMapCompletable{ insertAll(it) }
...