Last active
November 2, 2018 14:00
-
-
Save chetdeva/3282d04cdf9beeb1c1d7e8af5e7ed370 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* A data source that uses the "name" field of posts as the key for next/prev pages. | |
*/ | |
class ItemKeyedSubredditDataSource : ItemKeyedDataSource<String, RedditPost>() { | |
override fun loadInitial(params: LoadInitialParams<String>, | |
callback: LoadInitialCallback<RedditPost>) { | |
val request = redditApi.getTop( | |
subreddit = subredditName, | |
limit = params.requestedLoadSize) | |
// Retrofit Call onResponse omitted | |
callback.onResult(items) | |
} | |
override fun loadAfter(params: LoadParams<String>, | |
callback: LoadCallback<RedditPost>) { | |
val request = redditApi.getTopAfter( | |
subreddit = subredditName, | |
after = params.key, | |
limit = params.requestedLoadSize) | |
// Retrofit Call onResponse omitted | |
callback.onResult(items) | |
} | |
override fun getKey(item: RedditPost): String { | |
return item.name | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment