package eu.kanade.tachiyomi.util; import android.util.Pair; import java.util.List; import rx.Observable; import rx.functions.Func1; import rx.subjects.PublishSubject; public class RxPager { private final PublishSubject> results = PublishSubject.create(); private int requestedCount; public Observable>> results() { requestedCount = 0; return results.map(list -> Pair.create(requestedCount++, list)); } public Observable> request(Func1>> networkObservable) { return networkObservable.call(requestedCount).doOnNext(results::onNext); } }