Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92b0e4b0 authored by Hall Liu's avatar Hall Liu
Browse files

Update docs for getServiceState

Update docs for getServiceState to reflect the degrading behavior
depending on the location permissions the caller holds, and to make it
clear that an appops usage will be logged against the caller if they
hold location permissions.

Fixes: 179390723
Test: NA
Change-Id: Icd541ab9bd265eec9065041486574953f9bee0b1
parent 191b3b9d
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -42050,7 +42050,7 @@ package android.telephony {
    method @Deprecated public int getPhoneCount();
    method @Deprecated public int getPhoneCount();
    method public int getPhoneType();
    method public int getPhoneType();
    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public int getPreferredOpportunisticDataSubscription();
    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 @Nullable public android.telephony.SignalStrength getSignalStrength();
    method public int getSimCarrierId();
    method public int getSimCarrierId();
    method @Nullable public CharSequence getSimCarrierIdName();
    method @Nullable public CharSequence getSimCarrierIdName();
+10 −5
Original line number Original line Diff line number Diff line
@@ -11255,16 +11255,21 @@ public class TelephonyManager {
     *
     *
     * <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
     * <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
     * or that the calling app has carrier privileges (see {@link #hasCarrierPrivileges})
     * 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
     * May return {@code null} when the subscription is inactive or when there was an error
     * communicating with the phone process.
     * communicating with the phone process.
     */
     */
    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
    @RequiresPermission(allOf = {
    @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
            Manifest.permission.READ_PHONE_STATE,
            Manifest.permission.ACCESS_COARSE_LOCATION
    })
    public @Nullable ServiceState getServiceState() {
    public @Nullable ServiceState getServiceState() {
        return getServiceStateForSubscriber(getSubId());
        return getServiceStateForSubscriber(getSubId());
    }
    }