Skip to content

Instantly share code, notes, and snippets.

@dimsuz
Last active March 18, 2018 16:30
Show Gist options
  • Select an option

  • Save dimsuz/ebe21afd1de3902bfd262fb4fb19178c to your computer and use it in GitHub Desktop.

Select an option

Save dimsuz/ebe21afd1de3902bfd262fb4fb19178c to your computer and use it in GitHub Desktop.
Example of generated dispatcher usage
class MyFragmentOrActivity : BaseActivityOrFragment, ViewStateRenderer {
private val renderDispatcher = ViewStateDiffDispatcher.Builder()
.target(this) // <-- a class wich implements ViewStateRenderer and will receive render calls
.build()
private var previousViewState: ViewState? = null
fun render(viewState: ViewState) {
renderDispatcher.dispatch(viewState, previousViewState)
previousViewState = viewState;
}
override fun renderUsers(users: List<User>) {
// render users
}
override fun renderCategories(categories: Map<String, Category>, users: List<User>) {
// render categories
}
override fun renderLoadingErrorState(showProgressBar: Boolean, showError: ErrorDescription?) {
// render loading/error state
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment