blakelee
07/26/2017, 7:10 AMfun getUsers(since: Int): Observable<MutableList<User>> =
api.getUsers(since)
.subscribeOn(<http://Schedulers.io|Schedulers.io>())
.flatMap { items -> Observable.fromIterable(items).flatMap(this::getUserByLogin) }
.toSortedList { user1, user2 -> user1.id.compareTo(user2.id) }
.toObservable()
.doOnError(this::failedUser)
.observeOn(AndroidSchedulers.mainThread())
private fun getUserByLogin(user: UsersListUnfiltered): Observable<User> =
api.getUserByLogin(user.login)
.subscribeOn(<http://Schedulers.io|Schedulers.io>())
.map(this::convertToUser)
.doOnNext(this::storeUser)
.doOnError(this::failedUser)