```fun View.renderState1(state) { when(state) ...
# android-architecture
u
Copy code
fun 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
	}
}