diff options
author | Victoria Lease <violets@google.com> | 2013-10-14 10:52:04 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-14 10:52:04 -0700 |
commit | 04e44f3b30f7c49e54b079843d3d1149f29b479a (patch) | |
tree | 28bc8a3a4f13f9b1376bfce7040718949bd83949 | |
parent | 161b157b874ed876cc7a2f6a422043c1feb66645 (diff) | |
parent | 7831fd2fdb46572025195b4b8ec6f1f5b3d9b8c6 (diff) | |
download | frameworks_base-04e44f3b30f7c49e54b079843d3d1149f29b479a.zip frameworks_base-04e44f3b30f7c49e54b079843d3d1149f29b479a.tar.gz frameworks_base-04e44f3b30f7c49e54b079843d3d1149f29b479a.tar.bz2 |
am 7831fd2f: am 7d3fb2d6: am 881e1a6b: Merge "do not request location from unavailable providers" into klp-dev
* commit '7831fd2fdb46572025195b4b8ec6f1f5b3d9b8c6':
do not request location from unavailable providers
-rw-r--r-- | packages/FusedLocation/src/com/android/location/fused/FusionEngine.java | 18 | ||||
-rw-r--r-- | services/java/com/android/server/LocationManagerService.java | 2 |
2 files changed, 11 insertions, 9 deletions
diff --git a/packages/FusedLocation/src/com/android/location/fused/FusionEngine.java b/packages/FusedLocation/src/com/android/location/fused/FusionEngine.java index 4ba6c34..7cee066 100644 --- a/packages/FusedLocation/src/com/android/location/fused/FusionEngine.java +++ b/packages/FusedLocation/src/com/android/location/fused/FusionEngine.java @@ -131,14 +131,16 @@ public class FusionEngine implements LocationListener { private void enableProvider(String name, long minTime) { ProviderStats stats = mStats.get(name); - if (!stats.requested) { - stats.requestTime = SystemClock.elapsedRealtime(); - stats.requested = true; - stats.minTime = minTime; - mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); - } else if (stats.minTime != minTime) { - stats.minTime = minTime; - mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); + if (stats.available) { + if (!stats.requested) { + stats.requestTime = SystemClock.elapsedRealtime(); + stats.requested = true; + stats.minTime = minTime; + mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); + } else if (stats.minTime != minTime) { + stats.minTime = minTime; + mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); + } } } diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java index 3e8770e..8f480dd 100644 --- a/services/java/com/android/server/LocationManagerService.java +++ b/services/java/com/android/server/LocationManagerService.java @@ -1473,7 +1473,7 @@ public class LocationManagerService extends ILocationManager.Stub { + " " + name + " " + request + " from " + packageName + "(" + uid + ")"); LocationProviderInterface provider = mProvidersByName.get(name); if (provider == null) { - throw new IllegalArgumentException("provider doesn't exist: " + provider); + throw new IllegalArgumentException("provider doesn't exist: " + name); } UpdateRecord record = new UpdateRecord(name, request, receiver); |