(intent) { is BrowseIntent.RefreshIntent -> BrowseAction.RefreshAction is BrowseIntent.InitialIntent -> BrowseAction.LoadAction else -> throw UnsupportedOperationException("Oops, that looks like an unknown intent: " + intent) } }
{ fun intents(): Observable<I> fun render(state: S) } interface MviBaseViewModel<I : MviBaseIntent, S : MviBaseViewState> { fun processIntents(intents: Observable<I>) fun states(): Observable<S> }
{ fun intents(): Observable<I> fun render(state: S) } interface MviBaseViewModel<I : MviBaseIntent, S : MviBaseViewState> { fun processIntents(intents: Observable<I>) fun states(): Observable<S> }
{ fun intents(): Observable<I> fun render(state: S) } interface MviBaseViewModel<I : MviBaseIntent, S : MviBaseViewState> { fun processIntents(intents: Observable<I>) fun states(): Observable<S> }