Skip to content

Instantly share code, notes, and snippets.

@kakajika
Created June 14, 2018 08:06
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 kakajika/28b3b1c4c27de828f0c0561410a98038 to your computer and use it in GitHub Desktop.
Save kakajika/28b3b1c4c27de828f0c0561410a98038 to your computer and use it in GitHub Desktop.
Android Architecture Components DataSource implementation to supply simple List.
class ListDataSource<T>(private val items: List<T>) : PositionalDataSource<T>() {
override fun loadInitial(params: LoadInitialParams, callback: LoadInitialCallback<T>) {
callback.onResult(items, 0, items.size)
}
override fun loadRange(params: LoadRangeParams, callback: LoadRangeCallback<T>) {
val start = params.startPosition
val end = params.startPosition + params.loadSize
callback.onResult(items.subList(start, end))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment