summaryrefslogtreecommitdiff
path: root/client/.metadata/.plugins/org.eclipse.core.resources/.history/82
diff options
context:
space:
mode:
authorgoblin911 <goblinliu@gmail.com>2013-08-25 21:18:19 +0800
committergoblin911 <goblinliu@gmail.com>2013-08-25 21:18:19 +0800
commit0e687f12bd2653adb55ea002b39292678366c525 (patch)
tree0ad073ec8ff2ed2716adf23a679184c38df582a1 /client/.metadata/.plugins/org.eclipse.core.resources/.history/82
parent2efdc2f20f0306791ced5ec78a1acddfaf086f42 (diff)
...
Diffstat (limited to 'client/.metadata/.plugins/org.eclipse.core.resources/.history/82')
-rw-r--r--client/.metadata/.plugins/org.eclipse.core.resources/.history/82/70f000a8770d00131719b896d543f08c178
-rw-r--r--client/.metadata/.plugins/org.eclipse.core.resources/.history/82/909cd18d310d00131249f322b63acde8133
2 files changed, 311 insertions, 0 deletions
diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/82/70f000a8770d00131719b896d543f08c b/client/.metadata/.plugins/org.eclipse.core.resources/.history/82/70f000a8770d00131719b896d543f08c
new file mode 100644
index 0000000..8991894
--- /dev/null
+++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/82/70f000a8770d00131719b896d543f08c
@@ -0,0 +1,178 @@
+package com.macaroon.piztor;
+
+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;
+ @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!!!!");
+ }
+
+ @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));
+
+ }
+
+ }
+
+ @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]);
+ 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);
+ }
+ });
+ }
+
+ @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/82/909cd18d310d00131249f322b63acde8 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/82/909cd18d310d00131249f322b63acde8
new file mode 100644
index 0000000..9f6ec22
--- /dev/null
+++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/82/909cd18d310d00131249f322b63acde8
@@ -0,0 +1,133 @@
+package com.macaroon.piztor;
+
+import java.io.IOException;
+import java.net.UnknownHostException;
+import java.util.LinkedList;
+import java.util.Queue;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import android.annotation.SuppressLint;
+import android.os.Handler;
+import android.os.Message;
+
+public class Transam implements Runnable {
+ public Timer timer;
+ public Timer mtimer;
+ public boolean running = false;
+ public boolean flag = true;
+ public int cnt = 4;
+ Res res;
+ Req req;
+ public int p; // port
+ public String i; // ip
+ Thread thread;
+ Handler core;
+ Handler recall; // recall
+ Queue<Req> reqtask; // request task
+
+ Transam(String ip, int port, Handler Recall) {
+ p = port;
+ i = ip;
+ recall = Recall;
+ reqtask = new LinkedList<Req>();
+ }
+
+ public void send(Req r) {
+ reqtask.offer(r);
+
+ }
+
+ public void run() { // start the main timer
+ // TimerTask tmain = new Timertk();
+ // mtimer = new Timer();
+ // mtimer.schedule(tmain, 100, 100); //check the queue for every 100
+ // msec
+
+ while (true) {
+ if (running == false) {
+
+ if (!reqtask.isEmpty()) { // poll the head request
+ req = reqtask.poll();
+ if (req.time + req.alive < System.currentTimeMillis()) { // time
+ // out!
+ Message ret = new Message();
+ ret.obj = "Time out!";
+ ret.what = 100;
+ recall.sendMessage(ret);
+ } else { // run the request
+ final thd t = new thd();
+ flag = false;
+ thread = new Thread(t);
+ cnt = 4;
+ running = true;
+ thread.start();
+ timer = new Timer();
+ TimerTask task = new Timertk();
+ timer.schedule(task, 2000, 2000);
+ }
+ }
+ }
+ }
+ }
+
+ class tmain extends TimerTask {
+ public void run() {
+
+ }
+ };
+
+ class thd implements Runnable {
+ public void run() {
+ try {
+ SocketClient client = new SocketClient(i, p);
+ client.sendMsg(req, recall);
+ Message msg = new Message();
+ msg.what = 1;
+ handler.sendMessage(msg);
+ client.closeSocket();
+ } catch (UnknownHostException e) {
+ e.printStackTrace();
+ System.out.println("UnknownHostException");
+ } catch (IOException e) {
+ e.printStackTrace();
+ System.out.println("IOException");
+ }
+
+ }
+ }
+
+ @SuppressLint("HandlerLeak")
+ Handler handler = new Handler() {
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case 1:
+ flag = true;
+ break;
+ case 2:
+ final thd t = new thd();
+ thread = new Thread(t);
+ thread.start();
+ break;
+ }
+ super.handleMessage(msg);
+ }
+ };
+
+ class Timertk extends TimerTask {
+ public void run() {
+ if (flag == false && cnt > 0) {
+ cnt--;
+ } else if (cnt == 0) {
+ Message msg = new Message();
+ msg.obj = "connecting failed";
+ msg.what = 101;
+ recall.sendMessage(msg);
+ timer.cancel();
+ } else if (flag == true) {
+ timer.cancel();
+ running = false;
+ }
+ }
+ };
+} \ No newline at end of file