Skip to content

Instantly share code, notes, and snippets.

@brainail
Created September 17, 2017 12:11
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 brainail/b455ffed27ff8877835c78990687648f to your computer and use it in GitHub Desktop.
Save brainail/b455ffed27ff8877835c78990687648f to your computer and use it in GitHub Desktop.
Provider for PagedList with Kitsu items
object KitsuMediaPagedListProvider {
private val dataSource = object: KitsuLimitOffsetNetworkDataSource<KitsuItem>(KitsuRestApi) {
override fun convertToItems(items: KitsuResponse, size: Int): List<KitsuItem> {
return List(size, { index ->
items.data.elementAtOrElse(index, { KitsuItem(0, null, null) })
})
}
}
fun allKitsu(): LivePagedListProvider<Int, KitsuItem> {
return object : LivePagedListProvider<Int, KitsuItem>() {
override fun createDataSource(): KitsuLimitOffsetNetworkDataSource<KitsuItem> = dataSource
}
}
fun setQueryFilter(queryFilter: String) {
dataSource.queryFilter = queryFilter
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment