diff options
Diffstat (limited to 'client/.metadata/.plugins/org.eclipse.core.resources/.history/3')
-rw-r--r-- | client/.metadata/.plugins/org.eclipse.core.resources/.history/3/b0bdfe23320d00131249f322b63acde8 | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/3/b0bdfe23320d00131249f322b63acde8 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3/b0bdfe23320d00131249f322b63acde8 new file mode 100644 index 0000000..1d030dd --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3/b0bdfe23320d00131249f322b63acde8 @@ -0,0 +1,81 @@ +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; + + + + 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(); + new Thread(transam).run(); + addStatus(InitAct.class); + addStatus(Login.class); + addTransition(InitAct.class, noToken, Login.class); + } + +} |