summaryrefslogtreecommitdiff
path: root/location/java/android
diff options
context:
space:
mode:
author Grace Cheng <gracemc@google.com> 2022-01-24 11:15:55 +0000
committer Grace Cheng <gracemc@google.com> 2022-01-28 01:33:30 +0000
commit74bfabdade6864aa2f1c684b7b88584965ef8658 (patch)
treecb09f6906e250639405c73101117ab569b7600e6 /location/java/android
parent5df2512f8cb30203095b6ab0ecb14ae774f06b30 (diff)
Adds LOCATION_BYPASS permission.
Bug: 215299508 Test: presubmit Change-Id: I3768fb7bcc8da64ddad1d2e0a4bb3feaec244104
Diffstat (limited to 'location/java/android')
-rw-r--r--location/java/android/location/LastLocationRequest.java9
-rw-r--r--location/java/android/location/LocationManager.java4
-rw-r--r--location/java/android/location/LocationRequest.java12
3 files changed, 19 insertions, 6 deletions
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;