diff --git a/api/system-current.txt b/api/system-current.txt index 1f2864c9f877d..19754a22a6177 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3399,7 +3399,7 @@ package android.location { method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch(); method @Nullable public String getExtraLocationControllerPackage(); method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize(); - method @Nullable public android.location.GnssCapabilities getGnssCapabilities(); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GnssCapabilities getGnssCapabilities(); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections); method public boolean isExtraLocationControllerPackageEnabled(); method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle); diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index af60e3c672884..7a17505efa07b 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -1986,17 +1986,19 @@ public class LocationManager { } /** - * Returns the supported capabilities of the GNSS chipset or {@code null} if there is an error - * in obtaining the capabilities. + * Returns the supported capabilities of the GNSS chipset. + * + * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present. * * @hide */ @SystemApi - public @Nullable GnssCapabilities getGnssCapabilities() { + @RequiresPermission(ACCESS_FINE_LOCATION) + public @NonNull GnssCapabilities getGnssCapabilities() { try { long gnssCapabilities = mGnssMeasurementCallbackTransport.getGnssCapabilities(); if (gnssCapabilities == GnssCapabilities.INVALID_CAPABILITIES) { - return null; + gnssCapabilities = 0L; } return GnssCapabilities.of(gnssCapabilities); } catch (RemoteException e) {