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

Commit 9ce70cfd authored by Jeff Davidson's avatar Jeff Davidson
Browse files

Expose TelephonyManager#{set,get}DataEnabled.

setDataEnabled requires MODIFY_PHONE_STATE or carrier privileges.
getDataEnabled will work with any of the above or
ACCESS_NETWORK_STATE.

Test: Exercised APIs from test app, updated and executed CTS tests
Change-Id: I2d5a9df2e55f3f7be1729abefe137c00ae1d6c4e
Fixes: 32644451
parent 5cdf4934
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -37629,6 +37629,7 @@ package android.telephony {
    method public int getCallState();
    method public android.telephony.CellLocation getCellLocation();
    method public int getDataActivity();
    method public boolean getDataEnabled();
    method public int getDataNetworkType();
    method public int getDataState();
    method public java.lang.String getDeviceId();
@@ -37675,6 +37676,7 @@ package android.telephony {
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void sendUssdRequest(java.lang.String, int, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void setDataEnabled(boolean);
    method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
    method public boolean setOperatorBrandOverride(java.lang.String);
    method public boolean setPreferredNetworkTypeToGlobal();
+2 −0
Original line number Diff line number Diff line
@@ -37719,6 +37719,7 @@ package android.telephony {
    method public int getCallState();
    method public android.telephony.CellLocation getCellLocation();
    method public int getDataActivity();
    method public boolean getDataEnabled();
    method public int getDataNetworkType();
    method public int getDataState();
    method public java.lang.String getDeviceId();
@@ -37765,6 +37766,7 @@ package android.telephony {
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void sendUssdRequest(java.lang.String, int, android.telephony.TelephonyManager.OnReceiveUssdResponseCallback, android.os.Handler);
    method public void setDataEnabled(boolean);
    method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
    method public boolean setOperatorBrandOverride(java.lang.String);
    method public boolean setPreferredNetworkTypeToGlobal();
+25 −6
Original line number Diff line number Diff line
@@ -4850,10 +4850,19 @@ public class TelephonyManager {
        return false;
    }

    /** @hide */
    @SystemApi
    /**
     * Turns mobile data on or off.
     *
     * <p>Requires Permission:
     *     {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the
     *     calling app has carrier privileges.
     *
     * @param enable Whether to enable mobile data.
     *
     * @see #hasCarrierPrivileges
     */
    public void setDataEnabled(boolean enable) {
        setDataEnabled(SubscriptionManager.getDefaultDataSubscriptionId(), enable);
        setDataEnabled(getSubId(), enable);
    }

    /** @hide */
@@ -4869,10 +4878,20 @@ public class TelephonyManager {
        }
    }

    /** @hide */
    @SystemApi
    /**
     * Returns whether mobile data is enabled or not.
     *
     * <p>Requires Permission:
     *     {@link android.Manifest.permission#ACCESS_NETWORK_STATE ACCESS_NETWORK_STATE},
     *     {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}, or that the
     *     calling app has carrier privileges.
     *
     * @return true if mobile data is enabled.
     *
     * @see #hasCarrierPrivileges
     */
    public boolean getDataEnabled() {
        return getDataEnabled(SubscriptionManager.getDefaultDataSubscriptionId());
        return getDataEnabled(getSubId());
    }

    /** @hide */