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) {
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);
}
}
}

View File

@ -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);