From 263967cbb477983ae8680b431c1d93f102971c30 Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 25 Aug 2013 21:05:00 +0800 Subject: restructured the project --- client/src/com/macaroon/piztor/AppMgr.java | 89 ++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 client/src/com/macaroon/piztor/AppMgr.java (limited to 'client/src/com/macaroon/piztor/AppMgr.java') diff --git a/client/src/com/macaroon/piztor/AppMgr.java b/client/src/com/macaroon/piztor/AppMgr.java new file mode 100644 index 0000000..2e5e2b3 --- /dev/null +++ b/client/src/com/macaroon/piztor/AppMgr.java @@ -0,0 +1,89 @@ +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 Tracker tracker = null; + static Thread tTransam, tGPS; + //Event + + final static int noToken = 101; + final static int loginSuccess = 102; + + + static HashMap, HashMap>> 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> h = new HashMap>(); + h.put(event, b); + mp.put(a, h); + } + } + + static void addTransition(Class a, int i, Class b) { + if (mp.containsKey(a)) { + HashMap> h = mp.get(a); + h.put(i, b); + mp.put(a, h); + } else { + HashMap> h = new HashMap>(); + h.put(i, b); + mp.put(a, h); + } + } + + static void addStatus(Class a) { + mp.put(a, new HashMap>()); + } + + static void init() { + mp = new HashMap, HashMap>>(); + fromTransam = new Handler(); + transam = new Transam(UserInfo.ip, UserInfo.port, fromTransam); + fromGPS = new Handler(); + tracker = new Tracker(nowAct.getApplicationContext(), fromGPS); + tTransam = new Thread(transam); + tTransam.start(); + tGPS = new Thread(tracker); + tGPS.start(); + System.out.println("!!!!!!"); + addStatus(InitAct.class); + addStatus(Login.class); + addStatus(Main.class); + addTransition(InitAct.class, noToken, Login.class); + addTransition(Login.class, loginSuccess, Main.class); + } + +} -- cgit v1.2.3