private ApiPaginator(
final @NonNull Observable<Void> nextPage,
final @NonNull Observable<Params> startOverWith,
final @NonNull Func1<Envelope, List<Data>> envelopeToListOfData,
final @NonNull Func1<Params, Observable<Envelope>> loadWithParams,
final @NonNull Func1<String, Observable<Envelope>> loadWithPaginationPath,
final @NonNull Func1<Envelope, String> envelopeToMoreUrl,
final @NonNull Func1<List<Data>, List<Data>> pageTransformation,
final boolean clearWhenStartingOver,
final @NonNull Func2<List<Data>, List<Data>, List<Data>> concater,
final boolean distinctUntilChanged
) {
this.nextPage = nextPage;
this.startOverWith = startOverWith;
this.envelopeToListOfData = envelopeToListOfData;
this.loadWithParams = loadWithParams;
this.envelopeToMoreUrl = envelopeToMoreUrl;
this.pageTransformation = pageTransformation;
this.loadWithPaginationPath = loadWithPaginationPath;
this.clearWhenStartingOver = clearWhenStartingOver;
this.concater = concater;
this.distinctUntilChanged = distinctUntilChanged;
this.paginatedData = this.startOverWith.switchMap(this::dataWithPagination);
this.loadingPage = this.startOverWith.switchMap(__ -> nextPage.scan(1, (accum, ___) -> accum + 1));
}
ApiPaginator.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:android-oss
作者:
评论列表
文章目录