diff options
| -rw-r--r-- | core/api/current.txt | 2 | ||||
| -rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index bd1339fe12a8..76ec790aa7cd 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -42079,7 +42079,7 @@ package android.telephony { method @Deprecated public int getPhoneCount(); method public int getPhoneType(); method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public int getPreferredOpportunisticDataSubscription(); - method @Nullable @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public android.telephony.ServiceState getServiceState(); + method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.ServiceState getServiceState(); method @Nullable public android.telephony.SignalStrength getSignalStrength(); method public int getSimCarrierId(); method @Nullable public CharSequence getSimCarrierIdName(); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 441446cdc48d..16ffd9e4a44e 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -11255,16 +11255,21 @@ public class TelephonyManager { * * <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * or that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}) - * and {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}. + * Additionally, depending on the level of location permissions the caller holds (i.e. no + * location permissions, {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}, or + * {@link android.Manifest.permission#ACCESS_FINE_LOCATION}), location-sensitive fields will + * be cleared from the return value. + * + * <p>Note also that if the caller holds any sort of location permission, a usage event for the + * {@link android.app.AppOpsManager#OPSTR_FINE_LOCATION} or + * {@link android.app.AppOpsManager#OPSTR_FINE_LOCATION} + * will be logged against the caller when calling this method. * * May return {@code null} when the subscription is inactive or when there was an error * communicating with the phone process. */ @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges - @RequiresPermission(allOf = { - Manifest.permission.READ_PHONE_STATE, - Manifest.permission.ACCESS_COARSE_LOCATION - }) + @RequiresPermission(Manifest.permission.READ_PHONE_STATE) public @Nullable ServiceState getServiceState() { return getServiceStateForSubscriber(getSubId()); } |