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

Commit 64db0761 authored by Sooraj Sasindran's avatar Sooraj Sasindran
Browse files

Rename setDataEnabledWithReason

1. Rename setDataEnabledWithReason to
setDataEnabledForReasn

2. Allow isDataConnectionAllowed to be accessed by
same apps as isDataEnabledForReason

3. Make these apis public

Bug: 156332911
Test: cts and build
Change-Id: I8672ab8861fdec1854427ee9ce5ad8eec8774608
Merged-In: I8672ab8861fdec1854427ee9ce5ad8eec8774608
parent dfaf434b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -48321,7 +48321,9 @@ package android.telephony {
    method @Deprecated public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
    method @Deprecated public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
    method public boolean isConcurrentVoiceAndDataSupported();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isDataConnectionAllowed();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledForReason(int);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
    method public boolean isEmergencyNumber(@NonNull String);
    method public boolean isHearingAidCompatibilitySupported();
@@ -48343,6 +48345,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledForReason(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
    method public boolean setLine1NumberForDisplay(String, String);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
@@ -48390,6 +48393,10 @@ package android.telephony {
    field public static final int DATA_CONNECTING = 1; // 0x1
    field public static final int DATA_DISCONNECTED = 0; // 0x0
    field public static final int DATA_DISCONNECTING = 4; // 0x4
    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
    field public static final int DATA_SUSPENDED = 3; // 0x3
    field public static final int DATA_UNKNOWN = -1; // 0xffffffff
    field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
+0 −7
Original line number Diff line number Diff line
@@ -11247,10 +11247,8 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
    method public boolean isDataConnectivityPossible();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledWithReason(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
@@ -11285,7 +11283,6 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledWithReason(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
@@ -11328,10 +11325,6 @@ package android.telephony {
    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
+7 −0
Original line number Diff line number Diff line
@@ -46489,7 +46489,9 @@ package android.telephony {
    method @Deprecated public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
    method @Deprecated public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
    method public boolean isConcurrentVoiceAndDataSupported();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isDataConnectionAllowed();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled();
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledForReason(int);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
    method public boolean isEmergencyNumber(@NonNull String);
    method public boolean isHearingAidCompatibilitySupported();
@@ -46511,6 +46513,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledForReason(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
    method public boolean setLine1NumberForDisplay(String, String);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
@@ -46558,6 +46561,10 @@ package android.telephony {
    field public static final int DATA_CONNECTING = 1; // 0x1
    field public static final int DATA_DISCONNECTED = 0; // 0x0
    field public static final int DATA_DISCONNECTING = 4; // 0x4
    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
    field public static final int DATA_SUSPENDED = 3; // 0x3
    field public static final int DATA_UNKNOWN = -1; // 0xffffffff
    field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
+0 −7
Original line number Diff line number Diff line
@@ -10129,10 +10129,8 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
    method public boolean isDataConnectivityPossible();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledWithReason(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
@@ -10167,7 +10165,6 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledWithReason(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
@@ -10210,10 +10207,6 @@ package android.telephony {
    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
+35 −40
Original line number Diff line number Diff line
@@ -9160,7 +9160,7 @@ public class TelephonyManager {
     * app has carrier privileges (see {@link #hasCarrierPrivileges}).
     *
     * @param enable Whether to enable mobile data.
     * @deprecated use setDataEnabledWithReason with reason DATA_ENABLED_REASON_USER instead.
     * @deprecated use setDataEnabledForReason with reason DATA_ENABLED_REASON_USER instead.
     *
     */
    @Deprecated
@@ -9172,16 +9172,16 @@ public class TelephonyManager {
    /**
     * @hide
     * @deprecated use {@link #setDataEnabledWithReason(int, boolean)} instead.
     * @deprecated use {@link #setDataEnabledForReason(int, boolean)} instead.
    */
    @SystemApi
    @Deprecated
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setDataEnabled(int subId, boolean enable) {
        try {
            setDataEnabledWithReason(subId, DATA_ENABLED_REASON_USER, enable);
            setDataEnabledForReason(subId, DATA_ENABLED_REASON_USER, enable);
        } catch (RuntimeException e) {
            Log.e(TAG, "Error calling setDataEnabledWithReason e:" + e);
            Log.e(TAG, "Error calling setDataEnabledForReason e:" + e);
        }
    }
@@ -9390,9 +9390,9 @@ public class TelephonyManager {
    @SystemApi
    public boolean getDataEnabled(int subId) {
        try {
            return isDataEnabledWithReason(DATA_ENABLED_REASON_USER);
            return isDataEnabledForReason(DATA_ENABLED_REASON_USER);
        } catch (RuntimeException e) {
            Log.e(TAG, "Error calling isDataEnabledWithReason e:" + e);
            Log.e(TAG, "Error calling isDataEnabledForReason e:" + e);
        }
        return false;
    }
@@ -10952,7 +10952,7 @@ public class TelephonyManager {
     *
     * @param enabled control enable or disable carrier data.
     * @see #resetAllCarrierActions()
     * @deprecated use {@link #setDataEnabledWithReason(int, boolean) with
     * @deprecated use {@link #setDataEnabledForReason(int, boolean) with
     * reason {@link #DATA_ENABLED_REASON_CARRIER}} instead.
     * @hide
     */
@@ -10961,9 +10961,9 @@ public class TelephonyManager {
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setCarrierDataEnabled(boolean enabled) {
        try {
            setDataEnabledWithReason(DATA_ENABLED_REASON_CARRIER, enabled);
            setDataEnabledForReason(DATA_ENABLED_REASON_CARRIER, enabled);
        } catch (RuntimeException e) {
            Log.e(TAG, "Error calling setDataEnabledWithReason e:" + e);
            Log.e(TAG, "Error calling setDataEnabledForReason e:" + e);
        }
    }
@@ -11049,7 +11049,7 @@ public class TelephonyManager {
    /**
     * Policy control of data connection. Usually used when data limit is passed.
     * @param enabled True if enabling the data, otherwise disabling.
     * @deprecated use {@link #setDataEnabledWithReason(int, boolean) with
     * @deprecated use {@link #setDataEnabledForReason(int, boolean) with
     * reason {@link #DATA_ENABLED_REASON_POLICY}} instead.
     * @hide
     */
@@ -11057,9 +11057,9 @@ public class TelephonyManager {
    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
    public void setPolicyDataEnabled(boolean enabled) {
        try {
            setDataEnabledWithReason(DATA_ENABLED_REASON_POLICY, enabled);
            setDataEnabledForReason(DATA_ENABLED_REASON_POLICY, enabled);
        } catch (RuntimeException e) {
            Log.e(TAG, "Error calling setDataEnabledWithReason e:" + e);
            Log.e(TAG, "Error calling setDataEnabledForReason e:" + e);
        }
    }
@@ -11075,36 +11075,28 @@ public class TelephonyManager {
    /**
     * To indicate that user enabled or disabled data.
     * @hide
     */
    @SystemApi
    public static final int DATA_ENABLED_REASON_USER = 0;
    /**
     * To indicate that data control due to policy. Usually used when data limit is passed.
     * Policy data on/off won't affect user settings but will bypass the
     * settings and turns off data internally if set to {@code false}.
     * @hide
     */
    @SystemApi
    public static final int DATA_ENABLED_REASON_POLICY = 1;
    /**
     * To indicate enable or disable carrier data by the system based on carrier signalling or
     * carrier privileged apps. Carrier data on/off won't affect user settings but will bypass the
     * settings and turns off data internally if set to {@code false}.
     * @hide
     */
    @SystemApi
    public static final int DATA_ENABLED_REASON_CARRIER = 2;
    /**
     * To indicate enable or disable data by thermal service.
     * Thermal data on/off won't affect user settings but will bypass the
     * settings and turns off data internally if set to {@code false}.
     * @hide
     */
    @SystemApi
    public static final int DATA_ENABLED_REASON_THERMAL = 3;
    /**
@@ -11133,25 +11125,23 @@ public class TelephonyManager {
     * has {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} irrespective of
     * the reason.
     * @throws IllegalStateException if the Telephony process is not currently available.
     * @hide
     */
    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
    @SystemApi
    public void setDataEnabledWithReason(@DataEnabledReason int reason, boolean enabled) {
        setDataEnabledWithReason(getSubId(), reason, enabled);
    public void setDataEnabledForReason(@DataEnabledReason int reason, boolean enabled) {
        setDataEnabledForReason(getSubId(), reason, enabled);
    }
    private void setDataEnabledWithReason(int subId, @DataEnabledReason int reason,
    private void setDataEnabledForReason(int subId, @DataEnabledReason int reason,
            boolean enabled) {
        try {
            ITelephony service = getITelephony();
            if (service != null) {
                service.setDataEnabledWithReason(subId, reason, enabled);
                service.setDataEnabledForReason(subId, reason, enabled);
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
        } catch (RemoteException ex) {
            Log.e(TAG, "Telephony#setDataEnabledWithReason RemoteException", ex);
            Log.e(TAG, "Telephony#setDataEnabledForReason RemoteException", ex);
            ex.rethrowFromSystemServer();
        }
    }
@@ -11159,9 +11149,11 @@ public class TelephonyManager {
    /**
     * Return whether data is enabled for certain reason .
     *
     * If {@link #isDataEnabledWithReason} returns false, it means in data enablement for a
     * If {@link #isDataEnabledForReason} returns false, it means in data enablement for a
     * specific reason is turned off. If any of the reason is off, then it will result in
     * bypassing user preference and result in data to be turned off.
     * bypassing user preference and result in data to be turned off. Call
     * {@link #isDataConnectionAllowed} in order to know whether
     * data connection is allowed on the device.
     *
     * <p>If this object has been created with {@link #createForSubscriptionId}, applies
     *      to the given subId. Otherwise, applies to
@@ -11170,27 +11162,26 @@ public class TelephonyManager {
     * @param reason the reason the data enable change is taking place
     * @return whether data is enabled for a reason.
     * <p>Requires Permission:
     * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
     * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} or
     * {@link android.Manifest.permission#ACCESS_NETWORK_STATE}
     * @throws IllegalStateException if the Telephony process is not currently available.
     * @hide
     */
    @RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE,
            android.Manifest.permission.READ_PHONE_STATE})
    @SystemApi
    public boolean isDataEnabledWithReason(@DataEnabledReason int reason) {
        return isDataEnabledWithReason(getSubId(), reason);
    public boolean isDataEnabledForReason(@DataEnabledReason int reason) {
        return isDataEnabledForReason(getSubId(), reason);
    }
    private boolean isDataEnabledWithReason(int subId, @DataEnabledReason int reason) {
    private boolean isDataEnabledForReason(int subId, @DataEnabledReason int reason) {
        try {
            ITelephony service = getITelephony();
            if (service != null) {
                return service.isDataEnabledWithReason(subId, reason);
                return service.isDataEnabledForReason(subId, reason);
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
        } catch (RemoteException ex) {
            Log.e(TAG, "Telephony#isDataEnabledWithReason RemoteException", ex);
            Log.e(TAG, "Telephony#isDataEnabledForReason RemoteException", ex);
            ex.rethrowFromSystemServer();
        }
        return false;
@@ -11331,10 +11322,14 @@ public class TelephonyManager {
     *   <LI>And possibly others.</LI>
     * </UL>
     * @return {@code true} if the overall data connection is allowed; {@code false} if not.
     * @hide
     * <p>Requires Permission:
     * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} or
     * {@link android.Manifest.permission#ACCESS_NETWORK_STATE} or
     * android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    @RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE,
            android.Manifest.permission.READ_PHONE_STATE,
            android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE})
    public boolean isDataConnectionAllowed() {
        boolean retVal = false;
        try {
Loading