Skip to content

Instantly share code, notes, and snippets.

@enginebai
Created June 16, 2019 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enginebai/c9279213de4fa42a10b5c86a752b110a to your computer and use it in GitHub Desktop.
Save enginebai/c9279213de4fa42a10b5c86a752b110a to your computer and use it in GitHub Desktop.
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