diff options
author | goblin911 <goblinliu@gmail.com> | 2013-08-25 21:18:19 +0800 |
---|---|---|
committer | goblin911 <goblinliu@gmail.com> | 2013-08-25 21:18:19 +0800 |
commit | 0e687f12bd2653adb55ea002b39292678366c525 (patch) | |
tree | 0ad073ec8ff2ed2716adf23a679184c38df582a1 /client/.metadata/.plugins/org.eclipse.core.resources/.history/84 | |
parent | 2efdc2f20f0306791ced5ec78a1acddfaf086f42 (diff) |
...
Diffstat (limited to 'client/.metadata/.plugins/org.eclipse.core.resources/.history/84')
5 files changed, 472 insertions, 0 deletions
diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/30d53cf3280d00131249f322b63acde8 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/30d53cf3280d00131249f322b63acde8 new file mode 100644 index 0000000..54242d5 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/30d53cf3280d00131249f322b63acde8 @@ -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<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); + 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<?>>>(); + addStatus(InitAct.class); + addStatus(Login.class); + addTransition(InitAct.class, hasToken, Login.class); + } + +} diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/700a3adf290d00131249f322b63acde8 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/700a3adf290d00131249f322b63acde8 new file mode 100644 index 0000000..63770f2 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/700a3adf290d00131249f322b63acde8 @@ -0,0 +1,31 @@ +package com.macaroon.piztor; + +import android.os.Bundle; +import android.app.Activity; +import android.view.Menu; + +public class InitAct extends PiztorAct { + + @Override + protected void onCreate(Bundle savedInstanceState) { + id = "initAct"; + super.onCreate(savedInstanceState); + AppMgr.init(); + setContentView(R.layout.activity_init); + } + + @Override + protected void onStart() { + super.onStart(); + + AppMgr.trigger(AppMgr.hasToken); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.init, menu); + return true; + } + +} diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/901e3ac8250d00131a9bb9bc5a5e6171 b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/901e3ac8250d00131a9bb9bc5a5e6171 new file mode 100644 index 0000000..7b0bee0 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/901e3ac8250d00131a9bb9bc5a5e6171 @@ -0,0 +1,64 @@ +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; + + static HashMap<Class<?>, HashMap<Integer, Class<?>>> mp; + + static void setStatus(ActivityStatus st) { + status = st; + } + + static void trigger(int event) { + + Intent i = new Intent(); + 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<?>>>(); + addStatus(InitAct.class); + addStatus(Login.class); + + + } + +} diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c01bf7ee550d00131719b896d543f08c b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c01bf7ee550d00131719b896d543f08c new file mode 100644 index 0000000..3019420 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c01bf7ee550d00131719b896d543f08c @@ -0,0 +1,67 @@ +package com.macaroon.piztor; + +import android.content.Context; +import java.util.Timer; +import java.util.TimerTask; + +import android.location.Location; +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import android.util.Log; +import android.os.SystemClock; + + +public class Tracker implements Runnable { + + private static final long TIME_DELTA = 1000 * 3; // 3 second + public Timer timer; + private final Context mContext; + GPSTracker myTracker; + Handler mHandler; + Message message; + + public Tracker(Context context, Handler yHandler) { + timer = new Timer(); + mContext = context; + myTracker = new GPSTracker(mContext); + mHandler = yHandler; + } + + void setHandler(Handler hand) { + mHandler = hand; + } + + + public void run() { + GPSTask myTask = new GPSTask(); + timer.schedule(myTask, 0, TIME_DELTA); + } + + class GPSTask extends TimerTask { + @Override + public void run() { + Location location = myTracker.getLocation(); + Log.d("Location", "Fetching location....."); + if (myTracker.canGetLocation()) { + + Log.d("TTTTTTTTTTTTTTTTTTTTTTTime","TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTime"); + System.out.println("GPSTIME" + myTracker.location.getTime()); + System.out.println("SYSTIME" + SystemClock.elapsedRealtime()); + + message = new Message(); + message.what = 0; + message.obj = location; + if(myTracker.isGPSFix()) { + message.what = 1; + } else { + message.what = 2; + } + mHandler.sendMessage(message); + } else { + message.what = 0; + mHandler.sendMessage(message); + } + } + } +} diff --git a/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c080c339520d00131719b896d543f08c b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c080c339520d00131719b896d543f08c new file mode 100644 index 0000000..38a6106 --- /dev/null +++ b/client/.metadata/.plugins/org.eclipse.core.resources/.history/84/c080c339520d00131719b896d543f08c @@ -0,0 +1,241 @@ +package com.example.piztor;
+
+import android.app.AlertDialog;
+import android.app.Service;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.location.GpsStatus;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.os.SystemClock;
+import android.provider.Settings;
+import android.util.Log;
+
+public class GPSTracker extends Service implements LocationListener, GpsStatus.Listener {
+
+ private final Context mContext;
+
+ // flag for GPS status
+ boolean isGPSEnabled = false;
+
+ // flag for network status
+ boolean isNetworkEnabled = false;
+
+ // flag for GPS status
+ boolean canGetLocation = false;
+
+ Location location; // location
+ double latitude; // latitude
+ double longitude; // longitude
+
+ // The minimum distance to change Updates in meters
+ private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
+
+ // The minimum time between updates in milliseconds
+ private static final long MIN_TIME_BW_UPDATES = 1000 * 1; // 10 seconds
+
+ // Declaring a Location Manager
+ protected LocationManager locationManager;
+
+ // for GPS satellite status listener
+ Location mLastLocation;
+ long mLastLocationMillis;
+ boolean isGPSFix;
+
+
+ public GPSTracker(Context context) {
+ this.mContext = context;
+ isGPSFix = false;
+ getLocation();
+ }
+
+ public void getLocation() {
+ try {
+
+ Log.d("getLocation", "Start getting location......");
+
+ locationManager = (LocationManager) mContext
+ .getSystemService(LOCATION_SERVICE);
+
+ // getting GPS status
+ isGPSEnabled = locationManager
+ .isProviderEnabled(LocationManager.GPS_PROVIDER);
+
+ // getting network status
+ isNetworkEnabled = locationManager
+ .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+
+ if (!isGPSEnabled) {
+ // no network provider is enabled
+ } else {
+ this.canGetLocation = true;
+ if (isNetworkEnabled) {
+ locationManager.requestLocationUpdates(
+ LocationManager.NETWORK_PROVIDER,
+ MIN_TIME_BW_UPDATES,
+ MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+
+ Log.d("Network", "Network Updated");
+
+ if (locationManager != null) {
+ location = locationManager
+ .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+
+ Log.d("Network", "Received Network Data");
+ System.out.println("***From Network: "+latitude + " " + longitude);
+ }
+ }
+ }// end of network section
+ // if GPS Enabled get lat/long using GPS Services
+ if (isGPSEnabled) {
+ if (true) {
+ locationManager.requestLocationUpdates(
+ LocationManager.GPS_PROVIDER,
+ MIN_TIME_BW_UPDATES,
+ MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+ Log.d("GPS", "GPS Updated");
+ if (locationManager != null) {
+ location = locationManager
+ .getLastKnownLocation(LocationManager.GPS_PROVIDER);
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+
+ Log.d("GPS", "Received GPS Data");
+ System.out.println("***From GPS: "+latitude + " " + longitude);
+
+ }
+ }
+ }
+ }// end of GPS section
+ }// end of fetching data
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Stop using GPS listener Calling this function will stop using GPS in your
+ * app
+ * */
+ public void stopUsingGPS() {
+ if (locationManager != null) {
+ locationManager.removeUpdates(GPSTracker.this);
+ }
+ }
+
+ /**
+ * Function to get latitude
+ * */
+ public double getLatitude() {
+ if (location != null) {
+ latitude = location.getLatitude();
+ }
+ return latitude;
+ }
+
+ /**
+ * Function to get longitude
+ * */
+ public double getLongitude() {
+ if (location != null) {
+ longitude = location.getLongitude();
+ }
+ return longitude;
+ }
+
+ /**
+ * Function to check GPS/wifi enabled
+ *
+ * @return boolean
+ * */
+ public boolean canGetLocation() {
+ return this.canGetLocation;
+ }
+
+ public boolean isGPSFix() {
+ return (this.isGPSFix && location != null);
+ }
+
+ /**
+ * Function to show settings alert dialog On pressing Settings button will
+ * lauch Settings Options
+ * */
+ public void showSettingsAlert() {
+ AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
+
+ // Setting Dialog Title
+ alertDialog.setTitle("GPS is settings");
+
+ // Setting Dialog Message
+ alertDialog
+ .setMessage("GPS is not enabled. Do you want to go to settings menu?");
+
+ // On pressing Settings button
+ alertDialog.setPositiveButton("Settings",
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ Intent intent = new Intent(
+ Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ mContext.startActivity(intent);
+ }
+ });
+
+ // on pressing cancel button
+ alertDialog.setNegativeButton("Cancel",
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+ });
+
+ // Showing Alert Message
+ alertDialog.show();
+ }
+
+ @Override
+ public void onLocationChanged(Location location) {
+ if (location == null) return;
+ mLastLocationMillis = SystemClock.elapsedRealtime();
+ mLastLocation = location;
+ }
+
+ @Override
+ public void onProviderDisabled(String provider) {
+ }
+
+ @Override
+ public void onProviderEnabled(String provider) {
+ }
+
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
+ }
+
+ @Override
+ public IBinder onBind(Intent arg0) {
+ return null;
+ }
+
+ @Override
+ public void onGpsStatusChanged(int event) {
+ switch (event) {
+ case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
+ if(mLastLocation != null)
+ isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < 3000;
+ break;
+
+ case GpsStatus.GPS_EVENT_FIRST_FIX:
+ isGPSFix = true;
+ break;
+ }
+ }
+}
|