From b69bfcc2af58bdb596bd2ab4250b8acc336d983a Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Mon, 22 Feb 2021 16:32:28 -0800 Subject: [PATCH] Rename to addProviderRequestListener (framework/base) Bug: 180733549 Test: on device Change-Id: I2d303626ccd9a5c4d68dc4c94ed85df3002c3fed --- core/api/system-current.txt | 6 ++--- .../android/location/LocationManager.java | 25 +++++++++---------- .../location/provider/ProviderRequest.java | 5 +++- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index fbe24c43f027b..9fa71646f73be 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -4713,6 +4713,7 @@ package android.location { } public class LocationManager { + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener); method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer); method @Nullable public String getExtraLocationControllerPackage(); @@ -4727,7 +4728,7 @@ package android.location { method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String); method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.UPDATE_APP_OPS_STATS}) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler); method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerProviderRequestListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.Listener); + method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener); 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); @@ -4736,7 +4737,6 @@ package android.location { 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.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback); - method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void unregisterProviderRequestListener(@NonNull android.location.provider.ProviderRequest.Listener); } public final class LocationRequest implements android.os.Parcelable { @@ -4886,7 +4886,7 @@ package android.location.provider { method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource); } - public static interface ProviderRequest.Listener { + public static interface ProviderRequest.ChangedListener { method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest); } diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index b7823400695d9..ac65f27bfc3a2 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -51,7 +51,7 @@ import android.content.pm.PackageManager; import android.location.provider.IProviderRequestListener; import android.location.provider.ProviderProperties; import android.location.provider.ProviderRequest; -import android.location.provider.ProviderRequest.Listener; +import android.location.provider.ProviderRequest.ChangedListener; import android.os.Build; import android.os.Bundle; import android.os.CancellationSignal; @@ -2779,33 +2779,32 @@ public class LocationManager { } /** - * Registers a {@link ProviderRequest.Listener} to all providers. + * Adds a {@link ProviderRequest.ChangedListener} for listening to all providers' + * {@link ProviderRequest} changed events. * * @param executor the executor that the callback runs on * @param listener the listener to register - * @return {@code true} always * @hide */ @SystemApi @RequiresPermission(Manifest.permission.LOCATION_HARDWARE) - public boolean registerProviderRequestListener( + public void addProviderRequestChangedListener( @NonNull @CallbackExecutor Executor executor, - @NonNull Listener listener) { + @NonNull ChangedListener listener) { ProviderRequestLazyLoader.sProviderRequestListeners.addListener(listener, new ProviderRequestTransport(executor, listener)); - return true; } /** - * Unregisters a {@link ProviderRequest.Listener}. + * Removes a {@link ProviderRequest.ChangedListener} that has been added. * * @param listener the listener to remove. * @hide */ @SystemApi @RequiresPermission(Manifest.permission.LOCATION_HARDWARE) - public void unregisterProviderRequestListener( - @NonNull Listener listener) { + public void removeProviderRequestChangedListener( + @NonNull ProviderRequest.ChangedListener listener) { ProviderRequestLazyLoader.sProviderRequestListeners.removeListener(listener); } @@ -3442,13 +3441,13 @@ public class LocationManager { } private static class ProviderRequestTransport extends IProviderRequestListener.Stub - implements ListenerTransport { + implements ListenerTransport { private final Executor mExecutor; - private volatile @Nullable ProviderRequest.Listener mListener; + private volatile @Nullable ProviderRequest.ChangedListener mListener; - ProviderRequestTransport(Executor executor, ProviderRequest.Listener listener) { + ProviderRequestTransport(Executor executor, ChangedListener listener) { Preconditions.checkArgument(executor != null, "invalid null executor"); Preconditions.checkArgument(listener != null, "invalid null callback"); mExecutor = executor; @@ -3461,7 +3460,7 @@ public class LocationManager { } @Override - public @Nullable ProviderRequest.Listener getListener() { + public @Nullable ProviderRequest.ChangedListener getListener() { return mListener; } diff --git a/location/java/android/location/provider/ProviderRequest.java b/location/java/android/location/provider/ProviderRequest.java index b6ec32309b087..b72d36519e721 100644 --- a/location/java/android/location/provider/ProviderRequest.java +++ b/location/java/android/location/provider/ProviderRequest.java @@ -56,10 +56,13 @@ public final class ProviderRequest implements Parcelable { /** * Listener to be invoked when a new request is set to the provider. */ - public interface Listener { + public interface ChangedListener { /** * Invoked when a new request is set. + * + * @param provider the location provider associated with the request + * @param request the new {@link ProviderRequest} */ void onProviderRequestChanged(@NonNull String provider, @NonNull ProviderRequest request); }