Merge "do not request location from unavailable providers" into klp-dev

This commit is contained in:
Victoria Lease
2013-10-13 22:04:22 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 9 deletions

View File

@ -131,14 +131,16 @@ public class FusionEngine implements LocationListener {
private void enableProvider(String name, long minTime) { private void enableProvider(String name, long minTime) {
ProviderStats stats = mStats.get(name); ProviderStats stats = mStats.get(name);
if (!stats.requested) { if (stats.available) {
stats.requestTime = SystemClock.elapsedRealtime(); if (!stats.requested) {
stats.requested = true; stats.requestTime = SystemClock.elapsedRealtime();
stats.minTime = minTime; stats.requested = true;
mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); stats.minTime = minTime;
} else if (stats.minTime != minTime) { mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper);
stats.minTime = minTime; } else if (stats.minTime != minTime) {
mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper); stats.minTime = minTime;
mLocationManager.requestLocationUpdates(name, minTime, 0, this, mLooper);
}
} }
} }

View File

@ -1473,7 +1473,7 @@ public class LocationManagerService extends ILocationManager.Stub {
+ " " + name + " " + request + " from " + packageName + "(" + uid + ")"); + " " + name + " " + request + " from " + packageName + "(" + uid + ")");
LocationProviderInterface provider = mProvidersByName.get(name); LocationProviderInterface provider = mProvidersByName.get(name);
if (provider == null) { 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); UpdateRecord record = new UpdateRecord(name, request, receiver);