Loading core/api/system-current.txt +8 −0 Original line number Original line Diff line number Diff line Loading @@ -4933,6 +4933,7 @@ package android.location { public final class LastLocationRequest implements android.os.Parcelable { public final class LastLocationRequest implements android.os.Parcelable { method public int describeContents(); method public int describeContents(); method public boolean isAdasGnssBypass(); method public boolean isHiddenFromAppOps(); method public boolean isHiddenFromAppOps(); method public boolean isLocationSettingsIgnored(); method public boolean isLocationSettingsIgnored(); method public void writeToParcel(@NonNull android.os.Parcel, int); method public void writeToParcel(@NonNull android.os.Parcel, int); Loading @@ -4943,6 +4944,7 @@ package android.location { ctor public LastLocationRequest.Builder(); ctor public LastLocationRequest.Builder(); ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest); ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest); method @NonNull public android.location.LastLocationRequest build(); 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(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(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(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean); } } Loading @@ -4962,6 +4964,7 @@ package android.location { method @Deprecated public int getGnssBatchSize(); method @Deprecated public int getGnssBatchSize(); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method public boolean isAdasGnssLocationEnabled(); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); Loading @@ -4973,11 +4976,14 @@ 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 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 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 @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(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String); 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.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback); method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback); field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; } } public final class LocationRequest implements android.os.Parcelable { public final class LocationRequest implements android.os.Parcelable { Loading @@ -4993,6 +4999,7 @@ package android.location { method @Deprecated @NonNull public String getProvider(); method @Deprecated @NonNull public String getProvider(); method @Deprecated public float getSmallestDisplacement(); method @Deprecated public float getSmallestDisplacement(); method @NonNull public android.os.WorkSource getWorkSource(); method @NonNull public android.os.WorkSource getWorkSource(); method public boolean isAdasGnssBypass(); method public boolean isHiddenFromAppOps(); method public boolean isHiddenFromAppOps(); method public boolean isLocationSettingsIgnored(); method public boolean isLocationSettingsIgnored(); method public boolean isLowPower(); method public boolean isLowPower(); Loading @@ -5018,6 +5025,7 @@ package android.location { } } public static final class LocationRequest.Builder { 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(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(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(android.Manifest.permission.WRITE_SECURE_SETTINGS) 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.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean); location/java/android/location/LastLocationRequest.java +14 −2 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,9 @@ public final class LastLocationRequest implements Parcelable { * * * @return true if this request should be ignored while updating app ops with location usage * @return true if this request should be ignored while updating app ops with location usage * * * @hide */ */ @SystemApi public boolean isHiddenFromAppOps() { public boolean isHiddenFromAppOps() { return mHiddenFromAppOps; return mHiddenFromAppOps; } } Loading @@ -65,9 +67,10 @@ public final class LastLocationRequest implements Parcelable { * Driving Assistance Systems) application. * Driving Assistance Systems) application. * * * @return true if all limiting factors will be ignored to satisfy GNSS request * @return true if all limiting factors will be ignored to satisfy GNSS request * * @hide * @hide */ */ // TODO: make this system api @SystemApi public boolean isAdasGnssBypass() { public boolean isAdasGnssBypass() { return mAdasGnssBypass; return mAdasGnssBypass; } } Loading @@ -78,7 +81,10 @@ public final class LastLocationRequest implements Parcelable { * possible limiting factors will be ignored in order to satisfy this last location request. * possible limiting factors will be ignored in order to satisfy this last location request. * * * @return true if all limiting factors will be ignored to satisfy this request * @return true if all limiting factors will be ignored to satisfy this request * * @hide */ */ @SystemApi public boolean isLocationSettingsIgnored() { public boolean isLocationSettingsIgnored() { return mLocationSettingsIgnored; return mLocationSettingsIgnored; } } Loading Loading @@ -192,7 +198,10 @@ public final class LastLocationRequest implements Parcelable { * * * <p>Permissions enforcement occurs when resulting last location request is actually used, * <p>Permissions enforcement occurs when resulting last location request is actually used, * not when this method is invoked. * not when this method is invoked. * * @hide */ */ @SystemApi @RequiresPermission(Manifest.permission.UPDATE_APP_OPS_STATS) @RequiresPermission(Manifest.permission.UPDATE_APP_OPS_STATS) public @NonNull Builder setHiddenFromAppOps(boolean hiddenFromAppOps) { public @NonNull Builder setHiddenFromAppOps(boolean hiddenFromAppOps) { mHiddenFromAppOps = hiddenFromAppOps; mHiddenFromAppOps = hiddenFromAppOps; Loading @@ -211,7 +220,7 @@ public final class LastLocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: make this system api @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull LastLocationRequest.Builder setAdasGnssBypass(boolean adasGnssBypass) { public @NonNull LastLocationRequest.Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; mAdasGnssBypass = adasGnssBypass; Loading @@ -226,7 +235,10 @@ public final class LastLocationRequest implements Parcelable { * * * <p>Permissions enforcement occurs when resulting last location request is actually used, * <p>Permissions enforcement occurs when resulting last location request is actually used, * not when this method is invoked. * not when this method is invoked. * * @hide */ */ @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { mLocationSettingsIgnored = locationSettingsIgnored; mLocationSettingsIgnored = locationSettingsIgnored; Loading location/java/android/location/LocationManager.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -325,7 +325,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; Loading @@ -338,7 +338,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; /** /** Loading Loading @@ -656,7 +656,7 @@ public class LocationManager { * * * @hide * @hide */ */ //TODO: @SystemApi @SystemApi public boolean isAdasGnssLocationEnabled() { public boolean isAdasGnssLocationEnabled() { try { try { return mService.isAdasGnssLocationEnabledForUser(mContext.getUser().getIdentifier()); return mService.isAdasGnssLocationEnabledForUser(mContext.getUser().getIdentifier()); Loading @@ -673,7 +673,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @RequiresPermission(WRITE_SECURE_SETTINGS) @RequiresPermission(WRITE_SECURE_SETTINGS) public void setAdasGnssLocationEnabled(boolean enabled) { public void setAdasGnssLocationEnabled(boolean enabled) { try { try { Loading location/java/android/location/LocationRequest.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -660,7 +660,7 @@ public final class LocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi public boolean isAdasGnssBypass() { public boolean isAdasGnssBypass() { return mAdasGnssBypass; return mAdasGnssBypass; } } Loading Loading @@ -1139,7 +1139,7 @@ public final class LocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull Builder setAdasGnssBypass(boolean adasGnssBypass) { public @NonNull Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; mAdasGnssBypass = adasGnssBypass; Loading services/core/java/com/android/server/location/LocationManagerService.java +0 −16 Original line number Original line Diff line number Diff line Loading @@ -771,14 +771,6 @@ public class LocationManagerService extends ILocationManager.Stub implements // sanitize request // sanitize request LocationRequest.Builder sanitized = new LocationRequest.Builder(request); LocationRequest.Builder sanitized = new LocationRequest.Builder(request); if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) && GPS_PROVIDER.equals(provider) && ArrayUtils.contains(mContext.getResources().getStringArray( com.android.internal.R.array.config_locationDriverAssistancePackageNames), identity.getPackageName())) { sanitized.setAdasGnssBypass(true); } if (!CompatChanges.isChangeEnabled(LOW_POWER_EXCEPTIONS, Binder.getCallingUid())) { if (!CompatChanges.isChangeEnabled(LOW_POWER_EXCEPTIONS, Binder.getCallingUid())) { if (mContext.checkCallingPermission(permission.LOCATION_HARDWARE) if (mContext.checkCallingPermission(permission.LOCATION_HARDWARE) != PERMISSION_GRANTED) { != PERMISSION_GRANTED) { Loading Loading @@ -914,14 +906,6 @@ public class LocationManagerService extends ILocationManager.Stub implements // sanitize request // sanitize request LastLocationRequest.Builder sanitized = new LastLocationRequest.Builder(request); LastLocationRequest.Builder sanitized = new LastLocationRequest.Builder(request); if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) && GPS_PROVIDER.equals(provider) && ArrayUtils.contains(mContext.getResources().getStringArray( com.android.internal.R.array.config_locationDriverAssistancePackageNames), identity.getPackageName())) { sanitized.setAdasGnssBypass(true); } request = sanitized.build(); request = sanitized.build(); // validate request // validate request Loading Loading
core/api/system-current.txt +8 −0 Original line number Original line Diff line number Diff line Loading @@ -4933,6 +4933,7 @@ package android.location { public final class LastLocationRequest implements android.os.Parcelable { public final class LastLocationRequest implements android.os.Parcelable { method public int describeContents(); method public int describeContents(); method public boolean isAdasGnssBypass(); method public boolean isHiddenFromAppOps(); method public boolean isHiddenFromAppOps(); method public boolean isLocationSettingsIgnored(); method public boolean isLocationSettingsIgnored(); method public void writeToParcel(@NonNull android.os.Parcel, int); method public void writeToParcel(@NonNull android.os.Parcel, int); Loading @@ -4943,6 +4944,7 @@ package android.location { ctor public LastLocationRequest.Builder(); ctor public LastLocationRequest.Builder(); ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest); ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest); method @NonNull public android.location.LastLocationRequest build(); 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(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(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(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean); } } Loading @@ -4962,6 +4964,7 @@ package android.location { method @Deprecated public int getGnssBatchSize(); method @Deprecated public int getGnssBatchSize(); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method public boolean isAdasGnssLocationEnabled(); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); Loading @@ -4973,11 +4976,14 @@ 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 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 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 @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(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String); 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.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback); method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback); field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; } } public final class LocationRequest implements android.os.Parcelable { public final class LocationRequest implements android.os.Parcelable { Loading @@ -4993,6 +4999,7 @@ package android.location { method @Deprecated @NonNull public String getProvider(); method @Deprecated @NonNull public String getProvider(); method @Deprecated public float getSmallestDisplacement(); method @Deprecated public float getSmallestDisplacement(); method @NonNull public android.os.WorkSource getWorkSource(); method @NonNull public android.os.WorkSource getWorkSource(); method public boolean isAdasGnssBypass(); method public boolean isHiddenFromAppOps(); method public boolean isHiddenFromAppOps(); method public boolean isLocationSettingsIgnored(); method public boolean isLocationSettingsIgnored(); method public boolean isLowPower(); method public boolean isLowPower(); Loading @@ -5018,6 +5025,7 @@ package android.location { } } public static final class LocationRequest.Builder { 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(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(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(android.Manifest.permission.WRITE_SECURE_SETTINGS) 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.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
location/java/android/location/LastLocationRequest.java +14 −2 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,9 @@ public final class LastLocationRequest implements Parcelable { * * * @return true if this request should be ignored while updating app ops with location usage * @return true if this request should be ignored while updating app ops with location usage * * * @hide */ */ @SystemApi public boolean isHiddenFromAppOps() { public boolean isHiddenFromAppOps() { return mHiddenFromAppOps; return mHiddenFromAppOps; } } Loading @@ -65,9 +67,10 @@ public final class LastLocationRequest implements Parcelable { * Driving Assistance Systems) application. * Driving Assistance Systems) application. * * * @return true if all limiting factors will be ignored to satisfy GNSS request * @return true if all limiting factors will be ignored to satisfy GNSS request * * @hide * @hide */ */ // TODO: make this system api @SystemApi public boolean isAdasGnssBypass() { public boolean isAdasGnssBypass() { return mAdasGnssBypass; return mAdasGnssBypass; } } Loading @@ -78,7 +81,10 @@ public final class LastLocationRequest implements Parcelable { * possible limiting factors will be ignored in order to satisfy this last location request. * possible limiting factors will be ignored in order to satisfy this last location request. * * * @return true if all limiting factors will be ignored to satisfy this request * @return true if all limiting factors will be ignored to satisfy this request * * @hide */ */ @SystemApi public boolean isLocationSettingsIgnored() { public boolean isLocationSettingsIgnored() { return mLocationSettingsIgnored; return mLocationSettingsIgnored; } } Loading Loading @@ -192,7 +198,10 @@ public final class LastLocationRequest implements Parcelable { * * * <p>Permissions enforcement occurs when resulting last location request is actually used, * <p>Permissions enforcement occurs when resulting last location request is actually used, * not when this method is invoked. * not when this method is invoked. * * @hide */ */ @SystemApi @RequiresPermission(Manifest.permission.UPDATE_APP_OPS_STATS) @RequiresPermission(Manifest.permission.UPDATE_APP_OPS_STATS) public @NonNull Builder setHiddenFromAppOps(boolean hiddenFromAppOps) { public @NonNull Builder setHiddenFromAppOps(boolean hiddenFromAppOps) { mHiddenFromAppOps = hiddenFromAppOps; mHiddenFromAppOps = hiddenFromAppOps; Loading @@ -211,7 +220,7 @@ public final class LastLocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: make this system api @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull LastLocationRequest.Builder setAdasGnssBypass(boolean adasGnssBypass) { public @NonNull LastLocationRequest.Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; mAdasGnssBypass = adasGnssBypass; Loading @@ -226,7 +235,10 @@ public final class LastLocationRequest implements Parcelable { * * * <p>Permissions enforcement occurs when resulting last location request is actually used, * <p>Permissions enforcement occurs when resulting last location request is actually used, * not when this method is invoked. * not when this method is invoked. * * @hide */ */ @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { public @NonNull Builder setLocationSettingsIgnored(boolean locationSettingsIgnored) { mLocationSettingsIgnored = locationSettingsIgnored; mLocationSettingsIgnored = locationSettingsIgnored; Loading
location/java/android/location/LocationManager.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -325,7 +325,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; "android.location.action.ADAS_GNSS_ENABLED_CHANGED"; Loading @@ -338,7 +338,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED"; /** /** Loading Loading @@ -656,7 +656,7 @@ public class LocationManager { * * * @hide * @hide */ */ //TODO: @SystemApi @SystemApi public boolean isAdasGnssLocationEnabled() { public boolean isAdasGnssLocationEnabled() { try { try { return mService.isAdasGnssLocationEnabledForUser(mContext.getUser().getIdentifier()); return mService.isAdasGnssLocationEnabledForUser(mContext.getUser().getIdentifier()); Loading @@ -673,7 +673,7 @@ public class LocationManager { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @RequiresPermission(WRITE_SECURE_SETTINGS) @RequiresPermission(WRITE_SECURE_SETTINGS) public void setAdasGnssLocationEnabled(boolean enabled) { public void setAdasGnssLocationEnabled(boolean enabled) { try { try { Loading
location/java/android/location/LocationRequest.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -660,7 +660,7 @@ public final class LocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi public boolean isAdasGnssBypass() { public boolean isAdasGnssBypass() { return mAdasGnssBypass; return mAdasGnssBypass; } } Loading Loading @@ -1139,7 +1139,7 @@ public final class LocationRequest implements Parcelable { * * * @hide * @hide */ */ // TODO: @SystemApi @SystemApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public @NonNull Builder setAdasGnssBypass(boolean adasGnssBypass) { public @NonNull Builder setAdasGnssBypass(boolean adasGnssBypass) { mAdasGnssBypass = adasGnssBypass; mAdasGnssBypass = adasGnssBypass; Loading
services/core/java/com/android/server/location/LocationManagerService.java +0 −16 Original line number Original line Diff line number Diff line Loading @@ -771,14 +771,6 @@ public class LocationManagerService extends ILocationManager.Stub implements // sanitize request // sanitize request LocationRequest.Builder sanitized = new LocationRequest.Builder(request); LocationRequest.Builder sanitized = new LocationRequest.Builder(request); if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) && GPS_PROVIDER.equals(provider) && ArrayUtils.contains(mContext.getResources().getStringArray( com.android.internal.R.array.config_locationDriverAssistancePackageNames), identity.getPackageName())) { sanitized.setAdasGnssBypass(true); } if (!CompatChanges.isChangeEnabled(LOW_POWER_EXCEPTIONS, Binder.getCallingUid())) { if (!CompatChanges.isChangeEnabled(LOW_POWER_EXCEPTIONS, Binder.getCallingUid())) { if (mContext.checkCallingPermission(permission.LOCATION_HARDWARE) if (mContext.checkCallingPermission(permission.LOCATION_HARDWARE) != PERMISSION_GRANTED) { != PERMISSION_GRANTED) { Loading Loading @@ -914,14 +906,6 @@ public class LocationManagerService extends ILocationManager.Stub implements // sanitize request // sanitize request LastLocationRequest.Builder sanitized = new LastLocationRequest.Builder(request); LastLocationRequest.Builder sanitized = new LastLocationRequest.Builder(request); if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) && GPS_PROVIDER.equals(provider) && ArrayUtils.contains(mContext.getResources().getStringArray( com.android.internal.R.array.config_locationDriverAssistancePackageNames), identity.getPackageName())) { sanitized.setAdasGnssBypass(true); } request = sanitized.build(); request = sanitized.build(); // validate request // validate request Loading