From 74bfabdade6864aa2f1c684b7b88584965ef8658 Mon Sep 17 00:00:00 2001 From: Grace Cheng Date: Mon, 24 Jan 2022 11:15:55 +0000 Subject: Adds LOCATION_BYPASS permission. Bug: 215299508 Test: presubmit Change-Id: I3768fb7bcc8da64ddad1d2e0a4bb3feaec244104 --- location/java/android/location/LastLocationRequest.java | 9 +++++++-- location/java/android/location/LocationManager.java | 4 +++- location/java/android/location/LocationRequest.java | 12 +++++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) (limited to 'location/java') diff --git a/location/java/android/location/LastLocationRequest.java b/location/java/android/location/LastLocationRequest.java index 73c5c826584f..fe0a14f37cb6 100644 --- a/location/java/android/location/LastLocationRequest.java +++ b/location/java/android/location/LastLocationRequest.java @@ -16,6 +16,9 @@ package android.location; +import static android.Manifest.permission.LOCATION_BYPASS; +import static android.Manifest.permission.WRITE_SECURE_SETTINGS; + import android.Manifest; import android.annotation.NonNull; import android.annotation.RequiresPermission; @@ -220,8 +223,9 @@ public final class LastLocationRequest implements Parcelable { * * @hide */ + // TODO: remove WRITE_SECURE_SETTINGS. @SystemApi - @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public @NonNull LastLocationRequest.Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; return this; @@ -238,8 +242,9 @@ public final class LastLocationRequest implements Parcelable { * * @hide */ + // TODO: remove WRITE_SECURE_SETTINGS. @SystemApi - @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { mLocationSettingsIgnored = locationSettingsIgnored; return this; diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index d275628f6e24..59c989b7f01e 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -18,6 +18,7 @@ package android.location; import static android.Manifest.permission.ACCESS_COARSE_LOCATION; import static android.Manifest.permission.ACCESS_FINE_LOCATION; +import static android.Manifest.permission.LOCATION_BYPASS; import static android.Manifest.permission.LOCATION_HARDWARE; import static android.Manifest.permission.WRITE_SECURE_SETTINGS; import static android.location.LocationRequest.createFromDeprecatedCriteria; @@ -678,8 +679,9 @@ public class LocationManager { * * @hide */ + // TODO: remove WRITE_SECURE_SETTINGS. @SystemApi - @RequiresPermission(WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public void setAdasGnssLocationEnabled(boolean enabled) { try { mService.setAdasGnssLocationEnabledForUser(enabled, mContext.getUser().getIdentifier()); diff --git a/location/java/android/location/LocationRequest.java b/location/java/android/location/LocationRequest.java index 587222a4df43..59f4f5e8c19e 100644 --- a/location/java/android/location/LocationRequest.java +++ b/location/java/android/location/LocationRequest.java @@ -16,6 +16,9 @@ package android.location; +import static android.Manifest.permission.LOCATION_BYPASS; +import static android.Manifest.permission.WRITE_SECURE_SETTINGS; + import static java.lang.Math.max; import static java.lang.Math.min; @@ -662,9 +665,10 @@ public final class LocationRequest implements Parcelable { * @hide * @deprecated LocationRequests should be treated as immutable. */ + // TODO: remove WRITE_SECURE_SETTINGS. @SystemApi @Deprecated - @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public @NonNull LocationRequest setLocationSettingsIgnored(boolean locationSettingsIgnored) { mBypass = locationSettingsIgnored; return this; @@ -1132,8 +1136,9 @@ public final class LocationRequest implements Parcelable { * * @hide */ + // TODO: remove WRITE_SECURE_SETTINGS @SystemApi - @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public @NonNull Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; return this; @@ -1150,8 +1155,9 @@ public final class LocationRequest implements Parcelable { * * @hide */ + // TODO: remove WRITE_SECURE_SETTINGS @SystemApi - @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) + @RequiresPermission(anyOf = {WRITE_SECURE_SETTINGS, LOCATION_BYPASS}) public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { mBypass = locationSettingsIgnored; return this; -- cgit v1.2.3-59-g8ed1b