diff options
Diffstat (limited to 'client/.metadata/.plugins/org.eclipse.core.resources/.history/2')
-rw-r--r-- | client/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0e1f0e53a0d00131524a793807f338e | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0e1f0e53a0d00131524a793807f338e b/client/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0e1f0e53a0d00131524a793807f338e new file mode 100644 index 0000000..71415fe --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/2/c0e1f0e53a0d00131524a793807f338e @@ -0,0 +1,85 @@ +package com.macaroon.piztor; + +import java.util.HashMap; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Handler; + +@SuppressLint("UseSparseArrays") +public class AppMgr { + // Status + public enum ActivityStatus{ + create, start, resume, restart, stop, pause, destroy + } + static ActivityStatus status; + static PiztorAct nowAct; + //TODO fix + static Handler fromTransam, fromGPS; + static Transam transam = null; + static Thread tTransam, tGPS; + //Event + + final static int noToken = 101; + final static int loginSuccess = 102; + + + static HashMap<Class<?>, HashMap<Integer, Class<?>>> mp; + + static void setStatus(ActivityStatus st) { + status = st; + } + + static void trigger(int event) { + Intent i = new Intent(); + System.out.println(nowAct.id + " : " + event); + if (mp.get(nowAct.getClass()) == null) + System.out.println("first"); + else if (mp.get(nowAct.getClass()) == null) + System.out.println("second"); + i.setClass(nowAct, mp.get(nowAct.getClass()).get(event)); + nowAct.startActivity(i); + } + + static void add(Class<?> a, Integer event, Class<?> b) { + if (mp.containsKey(a)) + mp.get(a).put(event, b); + else { + HashMap<Integer, Class<?>> h = new HashMap<Integer, Class<?>>(); + h.put(event, b); + mp.put(a, h); + } + } + + static void addTransition(Class<?> a, int i, Class<?> b) { + if (mp.containsKey(a)) { + HashMap<Integer, Class<?>> h = mp.get(a); + h.put(i, b); + mp.put(a, h); + } else { + HashMap<Integer, Class<?>> h = new HashMap<Integer, Class<?>>(); + h.put(i, b); + mp.put(a, h); + } + } + + static void addStatus(Class<?> a) { + mp.put(a, new HashMap<Integer, Class<?>>()); + } + + static void init() { + mp = new HashMap<Class<?>, HashMap<Integer, Class<?>>>(); + fromTransam = new Handler(); + transam = new Transam(UserInfo.ip, UserInfo.port, fromTransam); + //fromGPS = new Handler(); + tTransam = new Thread(transam); + tTransam.run(); + System.out.println("!!!!!!"); + addStatus(InitAct.class); + addStatus(Login.class); + addStatus(Main.class); + addTransition(InitAct.class, noToken, Login.class); + addTransition(Login.class, loginSuccess, Main.class); + } + +} |