package it.angelic.soulissclient.model; import android.support.annotation.DrawableRes; import android.util.Log; import java.io.Serializable; import java.util.ArrayList; import it.angelic.soulissclient.Constants; import it.angelic.soulissclient.R; public class SoulissScene implements Serializable, ISoulissObject, ISoulissExecutable { private static final long serialVersionUID = 375896210748961219L; private int Id; private ArrayList<SoulissCommand> commandArray; private int iconId = R.drawable.soulisslogo; //private transient Context ctx; private String name = "Name not Set"; public SoulissScene(int id) { super(); Id = id; } @Override public void execute() { for (final SoulissCommand soulissCommand : commandArray) { Log.w(Constants.TAG, "EXECUTING SCENE Command:" + soulissCommand.toString() + " DELAY FROM NOW: " + soulissCommand.getInterval()); try { Thread.sleep(soulissCommand.getInterval()); } catch (InterruptedException e) { e.printStackTrace(); } soulissCommand.execute(); } } public ArrayList<SoulissCommand> getCommandArray() { return commandArray; } public int getSceneId() { return getId(); } public void setCommandArray(ArrayList<SoulissCommand> commandArray) { this.commandArray = commandArray; } public @DrawableRes int getIconResourceId() { return iconId; } public void setIconResourceId(@DrawableRes int itemResId) { iconId = itemResId; } public int getId() { return Id; } @Override public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNiceName() { return name; } /** * Needed for Spinner arrays * * @return */ @Override public String toString() { return getNiceName(); } }