Loading api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1098,6 +1098,7 @@ package android.location { public class LocationManager { method @NonNull public String[] getBackgroundThrottlingWhitelist(); method @NonNull public String[] getIgnoreSettingsWhitelist(); method @Nullable @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public java.util.List<java.lang.String> getProviderPackages(@NonNull String); method @NonNull public java.util.List<android.location.LocationRequest> getTestProviderCurrentRequests(String); method @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 @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); Loading location/java/android/location/ILocationManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ interface ILocationManager String getBestProvider(in Criteria criteria, boolean enabledOnly); ProviderProperties getProviderProperties(String provider); boolean isProviderPackage(String packageName); List<String> getProviderPackages(String provider); void setExtraLocationControllerPackage(String packageName); String getExtraLocationControllerPackage(); Loading location/java/android/location/LocationManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.location.ProviderProperties; import com.android.internal.util.Preconditions; import java.util.Collections; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.RejectedExecutionException; Loading Loading @@ -1234,6 +1235,24 @@ public class LocationManager { } } /** * Returns a list of packages associated with the given provider, * and an empty list if no package is associated with the provider. * * @hide */ @TestApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) @Nullable public List<String> getProviderPackages(@NonNull String provider) { try { return mService.getProviderPackages(provider); } catch (RemoteException e) { e.rethrowFromSystemServer(); return Collections.emptyList(); } } /** * Sends additional commands to a location provider. Can be used to support provider specific * extensions to the Location Manager API. Loading services/core/java/com/android/server/LocationManagerService.java +10 −1 Original line number Diff line number Diff line Loading @@ -2719,11 +2719,20 @@ public class LocationManagerService extends ILocationManager.Stub { return true; } } return false; } } @Override public List<String> getProviderPackages(String providerName) { mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG, Manifest.permission.READ_DEVICE_CONFIG + " permission required"); synchronized (mLock) { LocationProvider provider = getLocationProviderLocked(providerName); return provider == null ? Collections.emptyList() : provider.getPackagesLocked(); } } @Override public void setExtraLocationControllerPackage(String packageName) { mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, Loading Loading
api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1098,6 +1098,7 @@ package android.location { public class LocationManager { method @NonNull public String[] getBackgroundThrottlingWhitelist(); method @NonNull public String[] getIgnoreSettingsWhitelist(); method @Nullable @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public java.util.List<java.lang.String> getProviderPackages(@NonNull String); method @NonNull public java.util.List<android.location.LocationRequest> getTestProviderCurrentRequests(String); method @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 @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); Loading
location/java/android/location/ILocationManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ interface ILocationManager String getBestProvider(in Criteria criteria, boolean enabledOnly); ProviderProperties getProviderProperties(String provider); boolean isProviderPackage(String packageName); List<String> getProviderPackages(String provider); void setExtraLocationControllerPackage(String packageName); String getExtraLocationControllerPackage(); Loading
location/java/android/location/LocationManager.java +19 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.location.ProviderProperties; import com.android.internal.util.Preconditions; import java.util.Collections; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.RejectedExecutionException; Loading Loading @@ -1234,6 +1235,24 @@ public class LocationManager { } } /** * Returns a list of packages associated with the given provider, * and an empty list if no package is associated with the provider. * * @hide */ @TestApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) @Nullable public List<String> getProviderPackages(@NonNull String provider) { try { return mService.getProviderPackages(provider); } catch (RemoteException e) { e.rethrowFromSystemServer(); return Collections.emptyList(); } } /** * Sends additional commands to a location provider. Can be used to support provider specific * extensions to the Location Manager API. Loading
services/core/java/com/android/server/LocationManagerService.java +10 −1 Original line number Diff line number Diff line Loading @@ -2719,11 +2719,20 @@ public class LocationManagerService extends ILocationManager.Stub { return true; } } return false; } } @Override public List<String> getProviderPackages(String providerName) { mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG, Manifest.permission.READ_DEVICE_CONFIG + " permission required"); synchronized (mLock) { LocationProvider provider = getLocationProviderLocked(providerName); return provider == null ? Collections.emptyList() : provider.getPackagesLocked(); } } @Override public void setExtraLocationControllerPackage(String packageName) { mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, Loading