aboutsummaryrefslogtreecommitdiff
path: root/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java')
-rw-r--r--libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java132
1 files changed, 0 insertions, 132 deletions
diff --git a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java
deleted file mode 100644
index 12439fd28..000000000
--- a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/LocationHelper.java
+++ /dev/null
@@ -1,132 +0,0 @@
-//This Handy-Dandy class acquired and tweaked from http://stackoverflow.com/a/3145655/309558
-package org.wordpress.android.util;
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-import android.content.Context;
-import android.location.Location;
-import android.location.LocationListener;
-import android.location.LocationManager;
-import android.os.Bundle;
-
-public class LocationHelper {
- Timer timer1;
- LocationManager lm;
- LocationResult locationResult;
- boolean gps_enabled = false;
- boolean network_enabled = false;
-
- public boolean getLocation(Context context, LocationResult result) {
- locationResult = result;
- if (lm == null)
- lm = (LocationManager) context
- .getSystemService(Context.LOCATION_SERVICE);
-
- // exceptions will be thrown if provider is not permitted.
- try {
- gps_enabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
- } catch (Exception ex) {
- }
- try {
- network_enabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
- } catch (Exception ex) {
- }
-
- // don't start listeners if no provider is enabled
- if (!gps_enabled && !network_enabled)
- return false;
-
- if (gps_enabled)
- lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps);
-
- if (network_enabled)
- lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListenerNetwork);
-
- timer1 = new Timer();
- timer1.schedule(new GetLastLocation(), 30000);
- return true;
- }
-
- LocationListener locationListenerGps = new LocationListener() {
- public void onLocationChanged(Location location) {
- timer1.cancel();
- locationResult.gotLocation(location);
- lm.removeUpdates(this);
- lm.removeUpdates(locationListenerNetwork);
- }
-
- public void onProviderDisabled(String provider) {
- }
-
- public void onProviderEnabled(String provider) {
- }
-
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- };
-
- LocationListener locationListenerNetwork = new LocationListener() {
- public void onLocationChanged(Location location) {
- timer1.cancel();
- locationResult.gotLocation(location);
- lm.removeUpdates(this);
- lm.removeUpdates(locationListenerGps);
- }
-
- public void onProviderDisabled(String provider) {
- }
-
- public void onProviderEnabled(String provider) {
- }
-
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- };
-
- class GetLastLocation extends TimerTask {
- @Override
- public void run() {
- lm.removeUpdates(locationListenerGps);
- lm.removeUpdates(locationListenerNetwork);
-
- Location net_loc = null, gps_loc = null;
- if (gps_enabled)
- gps_loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
- if (network_enabled)
- net_loc = lm
- .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
-
- // if there are both values use the latest one
- if (gps_loc != null && net_loc != null) {
- if (gps_loc.getTime() > net_loc.getTime())
- locationResult.gotLocation(gps_loc);
- else
- locationResult.gotLocation(net_loc);
- return;
- }
-
- if (gps_loc != null) {
- locationResult.gotLocation(gps_loc);
- return;
- }
- if (net_loc != null) {
- locationResult.gotLocation(net_loc);
- return;
- }
- locationResult.gotLocation(null);
- }
- }
-
- public static abstract class LocationResult {
- public abstract void gotLocation(Location location);
- }
-
- public void cancelTimer() {
- if (timer1 != null) {
- timer1.cancel();
- lm.removeUpdates(locationListenerGps);
- lm.removeUpdates(locationListenerNetwork);
- }
- }
-}