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

Commit 2fc8197b authored by Xiangyu/Malcolm Chen's avatar Xiangyu/Malcolm Chen Committed by Android (Google) Code Review
Browse files

Merge "Clean new TelephonyManager API." into pi-dev

parents 00f3c433 636fdbcc
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -42382,12 +42382,11 @@ package android.telephony {
    method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
    method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
    method public boolean isConcurrentVoiceAndDataSupported();
    method public deprecated boolean isDataEnabled();
    method public boolean isDataEnabled();
    method public boolean isHearingAidCompatibilitySupported();
    method public boolean isNetworkRoaming();
    method public boolean isSmsCapable();
    method public deprecated boolean isTtyModeSupported();
    method public boolean isUserMobileDataEnabled();
    method public boolean isVoiceCapable();
    method public boolean isVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle);
    method public boolean isWorldPhone();
@@ -42398,13 +42397,12 @@ package android.telephony {
    method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
    method public void sendUssdRequest(java.lang.String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
    method public void sendVisualVoicemailSms(java.lang.String, int, java.lang.String, android.app.PendingIntent);
    method public deprecated void setDataEnabled(boolean);
    method public void setDataEnabled(boolean);
    method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
    method public void setNetworkSelectionModeAutomatic();
    method public boolean setNetworkSelectionModeManual(java.lang.String, boolean);
    method public boolean setOperatorBrandOverride(java.lang.String);
    method public boolean setPreferredNetworkTypeToGlobal();
    method public void setUserMobileDataEnabled(boolean);
    method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
    method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
    method public deprecated void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
+28 −90
Original line number Diff line number Diff line
@@ -6349,34 +6349,39 @@ public class TelephonyManager {
     *
     * @param enable Whether to enable mobile data.
     *
     * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead.
     */
    @Deprecated
    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setDataEnabled(boolean enable) {
        setUserMobileDataEnabled(enable);
        setDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()), enable);
    }

    /**
     * @hide
     * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead.
     * @deprecated use {@link #setDataEnabled(boolean)} instead.
    */
    @SystemApi
    @Deprecated
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setDataEnabled(int subId, boolean enable) {
        setUserMobileDataEnabled(subId, enable);
        try {
            Log.d(TAG, "setDataEnabled: enabled=" + enable);
            ITelephony telephony = getITelephony();
            if (telephony != null)
                telephony.setUserDataEnabled(subId, enable);
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#setUserDataEnabled", e);
        }
    }

    /**
     * @deprecated use {@link #isUserMobileDataEnabled()} instead.
     * @deprecated use {@link #isDataEnabled()} instead.
     * @hide
     */
    @SystemApi
    @Deprecated
    public boolean getDataEnabled() {
        return isUserMobileDataEnabled();
        return isDataEnabled();
    }

    /**
@@ -6396,22 +6401,28 @@ public class TelephonyManager {
     * {@link ConnectivityManager#getRestrictBackgroundStatus}.
     *
     * @return true if mobile data is enabled.
     *
     * @deprecated use {@link #isUserMobileDataEnabled()} instead.
     */
    @Deprecated
    public boolean isDataEnabled() {
        return isUserMobileDataEnabled();
        return getDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
    }

    /**
     * @deprecated use {@link #isUserMobileDataEnabled()} instead.
     * @deprecated use {@link #isDataEnabled()} instead.
     * @hide
     */
    @Deprecated
    @SystemApi
    public boolean getDataEnabled(int subId) {
        return isUserMobileDataEnabled(subId);
        boolean retVal = false;
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)
                retVal = telephony.isUserDataEnabled(subId);
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#isUserDataEnabled", e);
        } catch (NullPointerException e) {
        }
        return retVal;
    }

    /** @hide */
@@ -7683,57 +7694,13 @@ public class TelephonyManager {
        return null;
    }

    /**
     * Turns mobile data on or off.
     * If the {@link TelephonyManager} object has been created with
     * {@link #createForSubscriptionId}, this API applies to the given subId.
     * Otherwise, it applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()}
     *
     * <p>Requires Permission:
     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
     * app has carrier privileges (see {@link #hasCarrierPrivileges}.
     *
     * @param enable Whether to enable mobile data.
     */
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public void setUserMobileDataEnabled(boolean enable) {
        setUserMobileDataEnabled(
                getSubId(SubscriptionManager.getDefaultDataSubscriptionId()), enable);
    }

    /**
     * Returns whether mobile data is enabled or not per user setting. There are other factors
     * that could disable mobile data, but they are not considered here.
     *
     * If this object has been created with {@link #createForSubscriptionId}, applies to the given
     * subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()}
     *
     * <p>Requires one of the following permissions:
     * {@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 (see {@link #hasCarrierPrivileges}.
     *
     * <p>Note that this does not take into account any data restrictions that may be present on the
     * calling app. Such restrictions may be inspected with
     * {@link ConnectivityManager#getRestrictBackgroundStatus}.
     *
     * @return true if mobile data is enabled.
     */
    @RequiresPermission(anyOf = {
            android.Manifest.permission.ACCESS_NETWORK_STATE,
            android.Manifest.permission.MODIFY_PHONE_STATE
    })
    public boolean isUserMobileDataEnabled() {
        return isUserMobileDataEnabled(
                getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
    }

    /**
     * @hide
     * Unlike isUserMobileDataEnabled, this API also evaluates carrierDataEnabled,
     * policyDataEnabled etc to give a final decision.
     * It's similar to isDataEnabled, but unlike isDataEnabled, this API also evaluates
     * carrierDataEnabled, policyDataEnabled etc to give a final decision of whether mobile data is
     * capable of using.
     */
    public boolean isMobileDataEnabled() {
    public boolean isDataCapable() {
        boolean retVal = false;
        try {
            int subId = getSubId(SubscriptionManager.getDefaultDataSubscriptionId());
@@ -7747,35 +7714,6 @@ public class TelephonyManager {
        return retVal;
    }

    /**
     * Utility class of {@link #isUserMobileDataEnabled()};
     */
    private boolean isUserMobileDataEnabled(int subId) {
        boolean retVal = false;
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)
                retVal = telephony.isUserDataEnabled(subId);
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#isUserDataEnabled", e);
        } catch (NullPointerException e) {
        }
        return retVal;
    }

    /** Utility method of {@link #setUserMobileDataEnabled(boolean)} */
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    private void setUserMobileDataEnabled(int subId, boolean enable) {
        try {
            Log.d(TAG, "setUserMobileDataEnabled: enabled=" + enable);
            ITelephony telephony = getITelephony();
            if (telephony != null)
                telephony.setUserDataEnabled(subId, enable);
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#setUserDataEnabled", e);
        }
    }

    /**
     * In this mode, modem will not send specified indications when screen is off.
     * @hide