ursus
12/05/2019, 7:12 AMfun View.renderState1(state) {
when(state) {
is Loading -> {
progressBar.visibility = View.VISIBLE
errorView.visibility = View.GONE
contentView.visibility = View.GONE
}
is Success -> {
progressBar.visibility = View.GONE
errorView.visibility = View.GONE
contentView.visibility = View.VISIBLE
contentView.setData(state.data)
}
is Error -> {
progressBar.visibility = View.GONE
errorView.visibility = View.VISIBLE
errorView.setErrorMessage(state.errorMessage)
contentView.visibility = View.GONE
}
}
}
fun View.renderState2(state) {
progressBar.visibility = if (state is Loading) View.VISIBLE else View.GONE
if (state is Success) {
contentView.setData(state.data)
contentView.visibility = View.VISIBLE
} else {
contentView.visibility = View.GONE
}
if (state is Error) {
errorView.setErrorMessage(state.errorMessage)
errorView.visibility = View.VISIBLE
} else {
errorView.visibility = View.GONE
}
}