package adonai.diary_browser.misc; import android.os.Handler; import java.util.ArrayList; /** * Created by adonai on 08.07.15. */ public class StepSequence extends ArrayList<Step> { private int currentStep = 0; public void executeNextStep(Handler toExecuteOn) { Step current = get(currentStep); toExecuteOn.sendMessage(toExecuteOn.obtainMessage(current.getWhat(), current.getArg())); ++currentStep; } public void alterNextStep(Object arg) { int nextStepIdx = currentStep + 1; if(nextStepIdx >= size()) throw new IllegalStateException("No next step available!"); Step next = get(currentStep); next.setArg(arg); } public int getCurrentStep() { return currentStep; } public void setCurrentStep(int currentStep) { this.currentStep = currentStep; } }