I'm new to RxJava (specifically, RxJava2) and I'm having some trouble with what seems to be a relatively easy operation. I need to get some data from a db, iterate through the data (it is represented as a list), perform an operation on each item, wrap the data in another object and return. This is what I have so far:
mDataManager
.getStuffList(id)
.flatMapIterable(listOfStuff -> listOfStuff)
.flatMap(item ->
mDataManager
.performCount(id, item.getTitle())
.doOnNext(item::setCounter)
.takeLast(1)
.map(counter -> item))
.toList()
.toObservable()
.flatMap(listOfStuff -> Observable.just(new StuffWrapper(listOfStuff));
The problem I'm having is that my data manager calls never complete. The idea was that whenever the underlying data changes, the UI changes as well. However, without completing those calls, toList() won't emit the event.