Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on<ListAction.Refresh> {
- flatMap {
- if (it.action.limit > ListAction.DEFAULT_LIMIT) {
- cache.get<List<GiphyItem>>(GiphyListViewModel.KEY_GIPHIES)?.let { giphies ->
- return@flatMap ListState.Screen(giphies, ListState.Mode.IDLE_REFRESH).just()
- }
- }
- loadTrending(ListState.Mode.REFRESH, limit = it.action.limit) { _, list ->
- ListState.Screen(list, ListState.Mode.IDLE_REFRESH)
- }
- }
- }
- on<ListAction.LoadMore> {
- flatMap {
- loadTrending(ListState.Mode.LOAD_MORE, it.action.offset) { state, list ->
- ListState.Screen(
- state.giphies.toMutableList().apply { addAll(list) },
- ListState.Mode.IDLE_LOAD_MORE
- ).also { screen ->
- cache.save(GiphyListViewModel.KEY_GIPHIES, screen.giphies)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement