package com.arellomobile.mvp.viewstate.strategy; import java.util.List; import com.arellomobile.mvp.MvpView; import com.arellomobile.mvp.viewstate.ViewCommand; /** * This strategy will clear current commands queue and then incoming command will be put in. * * Caution! Be sure that you fully set view to initial state inside this command. * * Date: 19-Dec-15 * Time: 14:34 * * @author Alexander Blinov */ public class SingleStateStrategy implements StateStrategy { @Override public <View extends MvpView> void beforeApply(List<ViewCommand<View>> currentState, ViewCommand<View> incomingCommand) { currentState.clear(); currentState.add(incomingCommand); } @Override public <View extends MvpView> void afterApply(List<ViewCommand<View>> currentState, ViewCommand<View> incomingCommand) { // pass } }