summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictoria Lease <violets@google.com>2013-10-14 10:52:04 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-14 10:52:04 -0700
commit04e44f3b30f7c49e54b079843d3d1149f29b479a (patch)
tree28bc8a3a4f13f9b1376bfce7040718949bd83949
parent161b157b874ed876cc7a2f6a422043c1feb66645 (diff)
parent7831fd2fdb46572025195b4b8ec6f1f5b3d9b8c6 (diff)
downloadframeworks_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.java18
-rw-r--r--services/java/com/android/server/LocationManagerService.java2
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);