Привет.
Как можно с помощью rxjava2 осуществить такую последовательность действий?:
Есть приблизительно такая структура:
class Holder {
List<Image> images;
}
class Image {
String url;
String localFileUrl;
}
Нужно:
* Пройти по списку Holder'ов;
* Для каждого Holder'а пройти по Image'ам;
* Декодировать bitmap из Image.localFileUrl и зааплоадить bitmap на сервер и получить url,
записать его в Image.url;
* После того как обошли все Holder и для каждого Image внутри зааплоадили картинку и получили url,
зааплоадить список Holder'ов;
Пробовал делать как то так:
Observable.fromIterable(holders)
.concatMap(holder -> {
Observable.fromIterable(holder.images)
.concatMap(image -> {
// decode bitmap here
uploadImage(bitmap)
})
})
// what should I do here to get observable which emits holders,
// not result from uploadImage(bitmap)?
.toList()
.flatMap(? -> uploadeHolders());
Уже не имею идей возиожно ли подобного добиться с rxjava? Подходящего оператора не нашел для подобного, тут видимо нужен какой то специальный подход, но не могу сообразить как надо? Помогите пожалуйста.