Skip to content

Instantly share code, notes, and snippets.

@dimsuz
Last active March 18, 2018 16:30
Show Gist options
  • Save dimsuz/ea13c4f0342fe27d3b92fe56f12795a4 to your computer and use it in GitHub Desktop.
Save dimsuz/ea13c4f0342fe27d3b92fe56f12795a4 to your computer and use it in GitHub Desktop.
Example of generated ViewStateDispatcher
class ViewStateRendererDispatcher(private val receiver: ViewStateRenderer) {
fun dispatch(viewState: ViewState, previousViewState: ViewState?) {
if (viewState.users != previousViewState?.users) {
receiver.renderUsers(viewState.users)
}
if (viewState.categories != previousViewState?.categories
|| viewState.users != previuosViewState?.users) {
receiver.renderCategories(viewState.categories, viewState.users)
}
if (viewState.showProgressBar != previousViewState?.showProgressBar
|| viewState.showError != previuosViewState?.showError) {
receiver.renderLoadingErrorState(viewState.showProgressBar, viewState.showError)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment