From 0e687f12bd2653adb55ea002b39292678366c525 Mon Sep 17 00:00:00 2001 From: goblin911 Date: Sun, 25 Aug 2013 21:18:19 +0800 Subject: ... --- .../.history/3e/00def6177b0d00131719b896d543f08c | 196 +++++++++++++++++++++ .../.history/3e/1089ba593d0d00131524a793807f338e | 35 ++++ .../.history/3e/70b085c6280d00131249f322b63acde8 | 69 ++++++++ 3 files changed, 300 insertions(+) create mode 100644 client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00def6177b0d00131719b896d543f08c create mode 100644 client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/1089ba593d0d00131524a793807f338e create mode 100644 client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/70b085c6280d00131249f322b63acde8 (limited to 'client/.metadata/.plugins/org.eclipse.core.resources/.history/3e') diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00def6177b0d00131719b896d543f08c b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00def6177b0d00131719b896d543f08c new file mode 100644 index 0000000..4fb4aa7 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00def6177b0d00131719b896d543f08c @@ -0,0 +1,196 @@ +package com.macaroon.piztor; + +import java.util.Timer; +import java.util.TimerTask; +import java.util.Vector; + +import android.annotation.SuppressLint; +import android.location.Location; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.Menu; +import android.view.View; +import android.widget.ImageButton; + +public class Main extends PiztorAct { + final static int SearchButtonPress = 1; + final static int FetchButtonPress = 2; + final static int FocuseButtonPress = 3; + final static int SuccessFetch = 4; + final static int FailedFetch = 5; + final static int TimerFlush = 6; + ActMgr actMgr; + ImageButton btnSearch, btnFetch, btnFocus, btnSettings; + Timer autodate; + @SuppressLint("HandlerLeak") + Handler fromGPS = new Handler() { + @Override + public void handleMessage(Message m) { + if (m.what != 0) { + Location l = (Location) m.obj; + ReqUpdate r = new ReqUpdate(UserInfo.token, l.getLatitude(), + l.getLongitude(), System.currentTimeMillis(), 1000); + AppMgr.transam.send(r); + } + } + }; + + Handler fromTransam = new Handler() { + @Override + public void handleMessage(Message m) { + switch (m.what) { + case 3: + ResLocation location = (ResLocation) m.obj; + for (int i = 0; i < location.n; i++) { + System.out.println(location.l.get(i).lat + " " + + location.l.get(i).lot); + } + actMgr.trigger(SuccessFetch); + break; + case 2: + ResUpdate update = (ResUpdate) m.obj; + if (update.t == 0) + System.out.println("update success"); + else + System.out.println("update failed"); + break; + default: + break; + } + + } + }; + + String cause(int t) { + switch (t) { + case SearchButtonPress: + return "Search Button Press"; + case FetchButtonPress: + return "Fetch Button Press"; + case FocuseButtonPress: + return "Focuse Button Press"; + case SuccessFetch: + return "Success Fetch"; + case FailedFetch: + return "Failed Fetch"; + case TimerFlush: + return "TimerFlush"; + default: + return "Fuck!!!"; + } + } + + class StartStatus extends ActStatus { + + @Override + void enter(int e) { + System.out.println("enter start status!!!!"); + if (e == TimerFlush) { + ReqLocation r = new ReqLocation(UserInfo.token, 1, System.currentTimeMillis(), 1000); + AppMgr.transam.send(r); + } + } + + @Override + void leave(int e) { + System.out.println("leave start status!!!! because" + cause(e)); + } + + } + + class FetchStatus extends ActStatus { + + @Override + void enter(int e) { + System.out.println("enter Fetch status!!!!"); + if (e == FetchButtonPress) { + ReqLocation r = new ReqLocation(UserInfo.token, 1, + System.currentTimeMillis(), 1000); + AppMgr.transam.send(r); + } + } + + @Override + void leave(int e) { + System.out.println("leave fetch status!!!! because" + cause(e)); + } + + } + + class FocusStatus extends ActStatus { + + @Override + void enter(int e) { + System.out.println("enter focus status!!!!"); + + } + + @Override + void leave(int e) { + System.out.println("leave focus status!!!! because" + cause(e)); + + } + + } + + class AutoUpdate extends TimerTask { + + @Override + public void run() { + actMgr.trigger(Main.TimerFlush); + } + + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + id = "Main"; + super.onCreate(savedInstanceState); + AppMgr.tracker.setHandler(fromGPS); + ActStatus[] r = new ActStatus[3]; + r[0] = new StartStatus(); + r[1] = new FetchStatus(); + r[2] = new FocusStatus(); + actMgr = new ActMgr(this, r[0], r); + actMgr.add(r[0], FocuseButtonPress, r[2]); + actMgr.add(r[0], FetchButtonPress, r[1]); + actMgr.add(r[1], FetchButtonPress, r[0]); + actMgr.add(r[1], FailedFetch, r[0]); + actMgr.add(r[2], FocuseButtonPress, r[0]); + actMgr.add(r[0], TimerFlush, r[0]); + actMgr.add(r[2], TimerFlush, r[2]); + autodate = new Timer(); + setContentView(R.layout.activity_main); + } + + @Override + protected void onStart() { + super.onStart(); + btnFetch = (ImageButton) findViewById(R.id.footbar_btn_fetch); + btnFocus = (ImageButton) findViewById(R.id.footbar_btn_focus); + btnSearch = (ImageButton) findViewById(R.id.footbar_btn_search); + btnSettings = (ImageButton) findViewById(R.id.footbar_btn_settings); + btnFetch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View arg0) { + actMgr.trigger(FetchButtonPress); + } + }); + btnFocus.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + actMgr.trigger(FocuseButtonPress); + } + }); + autodate.schedule(new AutoUpdate(), 0, 5000); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + +} diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/1089ba593d0d00131524a793807f338e b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/1089ba593d0d00131524a793807f338e new file mode 100644 index 0000000..06c1791 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/1089ba593d0d00131524a793807f338e @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/70b085c6280d00131249f322b63acde8 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/70b085c6280d00131249f322b63acde8 new file mode 100644 index 0000000..54242d5 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/3e/70b085c6280d00131249f322b63acde8 @@ -0,0 +1,69 @@ +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 + + final static int hasToken = 101; + + + 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); + 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>>(); + addStatus(InitAct.class); + addStatus(Login.class); + addTransition(InitAct.class, hasToken, Login.class); + } + +} -- cgit v1.2.3