Loading core/api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -4416,7 +4416,8 @@ package android.location { method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String); 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 @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); Loading location/java/android/location/ILocationManager.aidl +10 −10 Original line number Diff line number Diff line Loading @@ -78,21 +78,21 @@ interface ILocationManager @nullable List<GnssAntennaInfo> getGnssAntennaInfos(); void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, String attributionTag); void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, @nullable String attributionTag); void unregisterGnssStatusCallback(in IGnssStatusListener callback); void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, String attributionTag); void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, @nullable String attributionTag); void unregisterGnssNmeaCallback(in IGnssNmeaListener callback); void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, String attributionTag); void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, @nullable String attributionTag); void removeGnssMeasurementsListener(in IGnssMeasurementsListener listener); void injectGnssMeasurementCorrections(in GnssMeasurementCorrections corrections); void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, String attributionTag); void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, @nullable String attributionTag); void removeGnssNavigationMessageListener(in IGnssNavigationMessageListener listener); int getGnssBatchSize(); void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, String attributionTag, String listenerId); void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, @nullable String attributionTag, @nullable String listenerId); void flushGnssBatch(); void stopGnssBatch(); Loading @@ -101,7 +101,7 @@ interface ILocationManager List<String> getProviders(in Criteria criteria, boolean enabledOnly); String getBestProvider(in Criteria criteria, boolean enabledOnly); ProviderProperties getProviderProperties(String provider); boolean isProviderPackage(String provider, String packageName); boolean isProviderPackage(@nullable String provider, String packageName, @nullable String attributionTag); List<String> getProviderPackages(String provider); void setExtraLocationControllerPackage(String packageName); Loading @@ -113,10 +113,10 @@ interface ILocationManager boolean isLocationEnabledForUser(int userId); void setLocationEnabledForUser(boolean enabled, int userId); void addTestProvider(String name, in ProviderProperties properties, String packageName, String attributionTag); void removeTestProvider(String provider, String packageName, String attributionTag); void setTestProviderLocation(String provider, in Location location, String packageName, String attributionTag); void setTestProviderEnabled(String provider, boolean enabled, String packageName, String attributionTag); void addTestProvider(String name, in ProviderProperties properties, String packageName, @nullable String attributionTag); void removeTestProvider(String provider, String packageName, @nullable String attributionTag); void setTestProviderLocation(String provider, in Location location, String packageName, @nullable String attributionTag); void setTestProviderEnabled(String provider, boolean enabled, String packageName, @nullable String attributionTag); LocationTime getGnssTimeMillis(); Loading location/java/android/location/LocationManager.java +29 −8 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.WeakHashMap; import java.util.concurrent.Executor; import java.util.function.Consumer; Loading Loading @@ -1840,17 +1841,13 @@ public class LocationManager { * otherwise. * * @hide * @deprecated Prefer {@link #isProviderPackage(String, String)} instead. * @deprecated Prefer {@link #isProviderPackage(String, String, String)} instead. */ @Deprecated @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String packageName) { try { return mService.isProviderPackage(null, packageName); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } return isProviderPackage(null, packageName, null); } /** Loading @@ -1861,13 +1858,37 @@ public class LocationManager { * @param provider a provider listed by {@link #getAllProviders()} or null * @param packageName the package name to test if it is a provider * @return true if the given arguments correspond to a provider * * @deprecated Use {@link #isProviderPackage(String, String, String)} instead. * * @hide */ @Deprecated @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String provider, @NonNull String packageName) { return isProviderPackage(provider, packageName, null); } /** * Returns true if the given provider corresponds to the given package name. If the given * provider is null, this will return true if any provider corresponds to the given package * name and/or attribution tag. If attribution tag is non-null, the provider identity must match * both the given package name and attribution tag. * * @param provider a provider listed by {@link #getAllProviders()} or null * @param packageName the package name to test if it is a provider * @param attributionTag an optional attribution tag within the given package * @return true if the given arguments correspond to a provider * @hide */ @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String provider, @NonNull String packageName, @Nullable String attributionTag) { try { return mService.isProviderPackage(provider, packageName); return mService.isProviderPackage(provider, Objects.requireNonNull(packageName), attributionTag); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -1878,7 +1899,7 @@ public class LocationManager { * and an empty list if no package is associated with the provider. * * @hide * @deprecated Prefer {@link #isProviderPackage(String, String)} instead. * @deprecated Prefer {@link #isProviderPackage(String, String, String)} instead. */ @TestApi @Deprecated Loading location/java/android/location/util/identity/CallerIdentity.java +7 −3 Original line number Diff line number Diff line Loading @@ -201,11 +201,15 @@ public final class CallerIdentity { return false; } CallerIdentity that = (CallerIdentity) o; return mUid == that.mUid return equalsIgnoringListenerId(that) && Objects.equals(mListenerId, that.mListenerId); } public boolean equalsIgnoringListenerId(CallerIdentity that) { return that != null && mUid == that.mUid && mPid == that.mPid && mPackageName.equals(that.mPackageName) && Objects.equals(mAttributionTag, that.mAttributionTag) && Objects.equals(mListenerId, that.mListenerId); && Objects.equals(mAttributionTag, that.mAttributionTag); } @Override Loading packages/FusedLocation/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <application android:label="@string/app_label" Loading Loading
core/api/system-current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -4416,7 +4416,8 @@ package android.location { method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String); method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String); 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 @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); Loading
location/java/android/location/ILocationManager.aidl +10 −10 Original line number Diff line number Diff line Loading @@ -78,21 +78,21 @@ interface ILocationManager @nullable List<GnssAntennaInfo> getGnssAntennaInfos(); void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, String attributionTag); void registerGnssStatusCallback(in IGnssStatusListener callback, String packageName, @nullable String attributionTag); void unregisterGnssStatusCallback(in IGnssStatusListener callback); void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, String attributionTag); void registerGnssNmeaCallback(in IGnssNmeaListener callback, String packageName, @nullable String attributionTag); void unregisterGnssNmeaCallback(in IGnssNmeaListener callback); void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, String attributionTag); void addGnssMeasurementsListener(in GnssMeasurementRequest request, in IGnssMeasurementsListener listener, String packageName, @nullable String attributionTag); void removeGnssMeasurementsListener(in IGnssMeasurementsListener listener); void injectGnssMeasurementCorrections(in GnssMeasurementCorrections corrections); void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, String attributionTag); void addGnssNavigationMessageListener(in IGnssNavigationMessageListener listener, String packageName, @nullable String attributionTag); void removeGnssNavigationMessageListener(in IGnssNavigationMessageListener listener); int getGnssBatchSize(); void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, String attributionTag, String listenerId); void startGnssBatch(long periodNanos, in ILocationListener listener, String packageName, @nullable String attributionTag, @nullable String listenerId); void flushGnssBatch(); void stopGnssBatch(); Loading @@ -101,7 +101,7 @@ interface ILocationManager List<String> getProviders(in Criteria criteria, boolean enabledOnly); String getBestProvider(in Criteria criteria, boolean enabledOnly); ProviderProperties getProviderProperties(String provider); boolean isProviderPackage(String provider, String packageName); boolean isProviderPackage(@nullable String provider, String packageName, @nullable String attributionTag); List<String> getProviderPackages(String provider); void setExtraLocationControllerPackage(String packageName); Loading @@ -113,10 +113,10 @@ interface ILocationManager boolean isLocationEnabledForUser(int userId); void setLocationEnabledForUser(boolean enabled, int userId); void addTestProvider(String name, in ProviderProperties properties, String packageName, String attributionTag); void removeTestProvider(String provider, String packageName, String attributionTag); void setTestProviderLocation(String provider, in Location location, String packageName, String attributionTag); void setTestProviderEnabled(String provider, boolean enabled, String packageName, String attributionTag); void addTestProvider(String name, in ProviderProperties properties, String packageName, @nullable String attributionTag); void removeTestProvider(String provider, String packageName, @nullable String attributionTag); void setTestProviderLocation(String provider, in Location location, String packageName, @nullable String attributionTag); void setTestProviderEnabled(String provider, boolean enabled, String packageName, @nullable String attributionTag); LocationTime getGnssTimeMillis(); Loading
location/java/android/location/LocationManager.java +29 −8 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.WeakHashMap; import java.util.concurrent.Executor; import java.util.function.Consumer; Loading Loading @@ -1840,17 +1841,13 @@ public class LocationManager { * otherwise. * * @hide * @deprecated Prefer {@link #isProviderPackage(String, String)} instead. * @deprecated Prefer {@link #isProviderPackage(String, String, String)} instead. */ @Deprecated @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String packageName) { try { return mService.isProviderPackage(null, packageName); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } return isProviderPackage(null, packageName, null); } /** Loading @@ -1861,13 +1858,37 @@ public class LocationManager { * @param provider a provider listed by {@link #getAllProviders()} or null * @param packageName the package name to test if it is a provider * @return true if the given arguments correspond to a provider * * @deprecated Use {@link #isProviderPackage(String, String, String)} instead. * * @hide */ @Deprecated @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String provider, @NonNull String packageName) { return isProviderPackage(provider, packageName, null); } /** * Returns true if the given provider corresponds to the given package name. If the given * provider is null, this will return true if any provider corresponds to the given package * name and/or attribution tag. If attribution tag is non-null, the provider identity must match * both the given package name and attribution tag. * * @param provider a provider listed by {@link #getAllProviders()} or null * @param packageName the package name to test if it is a provider * @param attributionTag an optional attribution tag within the given package * @return true if the given arguments correspond to a provider * @hide */ @SystemApi @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String provider, @NonNull String packageName, @Nullable String attributionTag) { try { return mService.isProviderPackage(provider, packageName); return mService.isProviderPackage(provider, Objects.requireNonNull(packageName), attributionTag); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -1878,7 +1899,7 @@ public class LocationManager { * and an empty list if no package is associated with the provider. * * @hide * @deprecated Prefer {@link #isProviderPackage(String, String)} instead. * @deprecated Prefer {@link #isProviderPackage(String, String, String)} instead. */ @TestApi @Deprecated Loading
location/java/android/location/util/identity/CallerIdentity.java +7 −3 Original line number Diff line number Diff line Loading @@ -201,11 +201,15 @@ public final class CallerIdentity { return false; } CallerIdentity that = (CallerIdentity) o; return mUid == that.mUid return equalsIgnoringListenerId(that) && Objects.equals(mListenerId, that.mListenerId); } public boolean equalsIgnoringListenerId(CallerIdentity that) { return that != null && mUid == that.mUid && mPid == that.mPid && mPackageName.equals(that.mPackageName) && Objects.equals(mAttributionTag, that.mAttributionTag) && Objects.equals(mListenerId, that.mListenerId); && Objects.equals(mAttributionTag, that.mAttributionTag); } @Override Loading
packages/FusedLocation/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" /> <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <application android:label="@string/app_label" Loading