Skip to content

Instantly share code, notes, and snippets.

@brainail
Created September 17, 2017 12:39
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/b071c15264e05f7aed0539c32402a40a to your computer and use it in GitHub Desktop.
Save brainail/b071c15264e05f7aed0539c32402a40a to your computer and use it in GitHub Desktop.
Base datasource for Kitsu items
abstract class KitsuLimitOffsetNetworkDataSource<T> protected constructor(
val dataProvider: KitsuRestApi) : TiledDataSource<T>() {
var queryFilter: String = ""
override fun countItems(): Int = DataSource.COUNT_UNDEFINED
protected abstract fun convertToItems(items: KitsuResponse, size: Int): List<T>
override fun loadRange(startPosition: Int, loadCount: Int): List<T>? {
val response = dataProvider.getKitsu(queryFilter, startPosition, loadCount).execute().body()
return convertToItems(response, response.data.size)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment