Improve LocationRequest appcompat
Fix a bug where we were overstrict in validating legacy location requests, and didn't cover all possible legacy inputs. Specifically, clients that pass in Long.MAX_VALUE as the interval - unclear why any client would want to do this, but nevertheless, it was allowed. Bug: 168927418 Test: presubmit Change-Id: Iaa604da6dee9e860f13abe0a74853579f757e249
This commit is contained in:
@@ -20,6 +20,8 @@ import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
|
||||
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
|
||||
import static android.Manifest.permission.LOCATION_HARDWARE;
|
||||
import static android.Manifest.permission.WRITE_SECURE_SETTINGS;
|
||||
import static android.location.LocationRequest.createFromDeprecatedCriteria;
|
||||
import static android.location.LocationRequest.createFromDeprecatedProvider;
|
||||
|
||||
import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR;
|
||||
|
||||
@@ -1024,9 +1026,7 @@ public class LocationManager {
|
||||
|
||||
requestLocationUpdates(
|
||||
provider,
|
||||
new LocationRequest.Builder(minTimeMs)
|
||||
.setMinUpdateDistanceMeters(minDistanceM)
|
||||
.build(),
|
||||
createFromDeprecatedProvider(provider, minTimeMs, minDistanceM, false),
|
||||
executor,
|
||||
listener);
|
||||
}
|
||||
@@ -1085,10 +1085,7 @@ public class LocationManager {
|
||||
|
||||
requestLocationUpdates(
|
||||
FUSED_PROVIDER,
|
||||
new LocationRequest.Builder(minTimeMs)
|
||||
.setQuality(criteria)
|
||||
.setMinUpdateDistanceMeters(minDistanceM)
|
||||
.build(),
|
||||
createFromDeprecatedCriteria(criteria, minTimeMs, minDistanceM, false),
|
||||
executor,
|
||||
listener);
|
||||
}
|
||||
@@ -1116,9 +1113,7 @@ public class LocationManager {
|
||||
|
||||
requestLocationUpdates(
|
||||
provider,
|
||||
new LocationRequest.Builder(minTimeMs)
|
||||
.setMinUpdateDistanceMeters(minDistanceM)
|
||||
.build(),
|
||||
createFromDeprecatedProvider(provider, minTimeMs, minDistanceM, false),
|
||||
pendingIntent);
|
||||
}
|
||||
|
||||
@@ -1144,10 +1139,7 @@ public class LocationManager {
|
||||
Preconditions.checkArgument(criteria != null, "invalid null criteria");
|
||||
requestLocationUpdates(
|
||||
FUSED_PROVIDER,
|
||||
new LocationRequest.Builder(minTimeMs)
|
||||
.setQuality(criteria)
|
||||
.setMinUpdateDistanceMeters(minDistanceM)
|
||||
.build(),
|
||||
createFromDeprecatedCriteria(criteria, minTimeMs, minDistanceM, false),
|
||||
pendingIntent);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user