package com.monitorabrasil.participacidadao.stores; import com.monitorabrasil.participacidadao.actions.Action; import com.monitorabrasil.participacidadao.actions.UserActions; import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; import com.parse.ParseObject; import com.squareup.otto.Subscribe; import java.util.List; /** * Created by 89741803168 on 13/08/2015. */ public class UserStore extends Store{ private static UserStore instance; private String status; private String evento; private ParseObject mAvaliacao; private boolean jaVotou; private List<ParseObject> cidades; public ParseObject getmAvaliacao(){return mAvaliacao;} public boolean isJaVotou(){return jaVotou;} public String getStatus(){ return status; } public String getEvento(){ return evento; } protected UserStore(Dispatcher dispatcher) { super(dispatcher); } public static UserStore get(Dispatcher dispatcher) { if (instance == null) { instance = new UserStore(dispatcher); } return instance; } @Override @Subscribe public void onAction(Action action) { status = "erro"; this.evento = action.getType(); switch (action.getType()) { case UserActions.USER_LOGAR: this.status = ((String) action.getData().get(UserActions.KEY_TEXT)); emitStoreChange(); break; case UserActions.USER_LOGOUT: this.status = ((String) action.getData().get(UserActions.KEY_TEXT)); emitStoreChange(); break; case UserActions.USER_CADASTRO: this.status = ((String) action.getData().get(UserActions.KEY_TEXT)); emitStoreChange(); break; case UserActions.USER_GET_AVALIACAO_POLITICO: mAvaliacao = ((ParseObject) action.getData().get(UserActions.KEY_TEXT)); if(mAvaliacao != null){ jaVotou = true; } emitStoreChange(); break; case UserActions.USER_GET_CIDADES: cidades = ((List<ParseObject>) action.getData().get(UserActions.KEY_TEXT)); emitStoreChange(); break; } } @Override StoreChangeEvent changeEvent() { UserStoreChangeEvent mUserStoreChangeEvent = new UserStoreChangeEvent(); return mUserStoreChangeEvent; } public List<ParseObject> getCidades() { return cidades; } public class UserStoreChangeEvent implements StoreChangeEvent { } }