interface PostRepository { | |
fun getFeeds(): Observable<PagedList<Post>> | |
} | |
class PostRepositoryImpl : PostRepository { | |
private val remoteDataSource: PostApiService by inject() | |
private val localDataSource: PostDao by inject() | |
private val postBoundaryCallback: postBoundaryCallback by inject() | |
override fun getFeeds(): Observable<PagedList<Post>> { | |
val dataSource = localDataSource.getPostList() | |
val pagedListConfig = PagedList.Config.Builder() | |
.setPageSize(10) | |
.setPrefetchDistance(4) | |
.build() | |
return RxPagedListBuilder(dataSource, pagedListConfig) | |
.setBoundaryCallback(postBoundaryCallback) | |
.buildObservable() | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment