package com.macaroon.piztor;
import java.util.HashMap;
import android.annotation.SuppressLint;
import android.content.Intent;
@SuppressLint("UseSparseArrays")
public class AppMgr {
// Status
public enum ActivityStatus{
create, start, resume, restart, stop, pause, destroy
}
static ActivityStatus status;
static PiztorAct nowAct;
//Event
public enum Event {
hasToken
}
static HashMap<Class<?>, HashMap<Event, Class<?>>> mp;
static void setStatus(ActivityStatus st) {
status = st;
}
static void trigger(Event event) {
Intent i = new Intent();
i.setClass(nowAct, mp.get(nowAct.getClass()).get(event));
nowAct.startActivity(i);
}
static void add(Class<?> a, Event event, Class<?> b) {
if (mp.containsKey(a))
mp.get(a).put(event, b);
else {
HashMap<Event, Class<?>> h = new HashMap<Event, Class<?>>();
h.put(event, b);
mp.put(a, h);
}
}
static void addTransition(Class<?> a, Event i, Class<?> b) {
if (mp.containsKey(a)) {
HashMap<Event, Class<?>> h = mp.get(a);
h.put(i, b);
mp.put(a, h);
} else {
HashMap<Event, Class<?>> h = new HashMap<Event, Class<?>>();
h.put(i, b);
mp.put(a, h);
}
}
static void addStatus(Class<?> a) {
mp.put(a, new HashMap<Event, Class<?>>());
}
static void init() {
mp = new HashMap<Class<?>, HashMap<Event, Class<?>>>();
addStatus(InitAct.class);
addStatus(Login.class);
addTransition(InitAct.class, Event.hasToken, Login.class);
}
}