user
06/02/2017, 7:29 AMsealed class MainActivityViewState {
class Success(val name: String): MainActivityViewState()
class Error(val error: String): MainActivityViewState()
object Loading : MainActivityViewState()
}
//How to use it:
when(viewState) {
is Success -> viewState.name //Smart-casted
is Error -> viewState.error
is Loading -> //Do something
If you do it that way, you won't clutter up your MainActivityViewState with data from all 3 possible states