Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d6a9240 authored by Grace Cheng's avatar Grace Cheng Committed by Android (Google) Code Review
Browse files

Merge "Adds LOCATION_BYPASS permission."

parents 2b162a03 74bfabda
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -146,6 +146,7 @@ package android {
    field public static final String KILL_UID = "android.permission.KILL_UID";
    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
@@ -5538,9 +5539,9 @@ package android.location {
    ctor public LastLocationRequest.Builder();
    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
    method @NonNull public android.location.LastLocationRequest build();
    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
  }
  public class Location implements android.os.Parcelable {
@@ -5569,7 +5570,7 @@ package android.location {
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.app.PendingIntent);
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAdasGnssLocationEnabled(boolean);
    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public void setAdasGnssLocationEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
@@ -5602,7 +5603,7 @@ package android.location {
    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
    method @Deprecated public void setHideFromAppOps(boolean);
    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
@@ -5618,9 +5619,9 @@ package android.location {
  }
  public static final class LocationRequest.Builder {
    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.WRITE_SECURE_SETTINGS, android.Manifest.permission.LOCATION_BYPASS}) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
  }
+9 −0
Original line number Diff line number Diff line
@@ -1145,6 +1145,15 @@
        android:description="@string/permdesc_accessBackgroundLocation"
        android:protectionLevel="dangerous|instant" />

    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
    location settings.
         <p>Not for use by third-party applications.
         @SystemApi
         @hide
    -->
    <permission android:name="android.permission.LOCATION_BYPASS"
                android:protectionLevel="signature|privileged"/>

    <!-- ====================================================================== -->
    <!-- Permissions for accessing the call log                                 -->
    <!-- ====================================================================== -->
+7 −2
Original line number Diff line number Diff line
@@ -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;
+3 −1
Original line number Diff line number Diff line
@@ -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());
+9 −3
Original line number Diff line number Diff line
@@ -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;
Loading