From 7e0346d269d44d7e29839e0d7ab710db88e8b943 Mon Sep 17 00:00:00 2001 From: d-kunin Date: Thu, 8 Aug 2013 23:44:23 +0300 Subject: [PATCH] [and] Location listening fix. --- .../travelguide/ArticleInfoListFragment.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/android/src/com/example/travelguide/ArticleInfoListFragment.java b/android/src/com/example/travelguide/ArticleInfoListFragment.java index 3adfd72..f630427 100644 --- a/android/src/com/example/travelguide/ArticleInfoListFragment.java +++ b/android/src/com/example/travelguide/ArticleInfoListFragment.java @@ -124,18 +124,24 @@ public class ArticleInfoListFragment extends ListFragment implements LoaderCallb public void onResume() { super.onResume(); - - final long currentTime = System.currentTimeMillis(); - if (currentTime - sLastLocationRequestTime > LOCATION_UPDATE_INTERVAL) + if (System.currentTimeMillis() - sLastLocationRequestTime > LOCATION_UPDATE_INTERVAL) { // reqestSingleUpdate() listen for single update // and when get it will unsubscribe from LocationManager - mLocationManager.requestSingleUpdate(LocationManager.GPS_PROVIDER, this, null); - mLocationManager.requestSingleUpdate(LocationManager.NETWORK_PROVIDER, this, null); - sLastLocationRequestTime = currentTime; + if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) + mLocationManager.requestSingleUpdate(LocationManager.GPS_PROVIDER, this, null); + if (mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) + mLocationManager.requestSingleUpdate(LocationManager.NETWORK_PROVIDER, this, null); } } + @Override + public void onPause() + { + super.onPause(); + mLocationManager.removeUpdates(this); + } + @Override public void onAttach(Activity activity) { @@ -314,7 +320,9 @@ public class ArticleInfoListFragment extends ListFragment implements LoaderCallb @Override public void onLocationChanged(Location location) - {} + { + sLastLocationRequestTime = System.currentTimeMillis(); + } @Override public void onProviderDisabled(String provider)