Loading api/current.txt +4 −2 Original line number Diff line number Diff line Loading @@ -40732,11 +40732,12 @@ 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 boolean isDataEnabled(); method public deprecated 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(); Loading @@ -40746,12 +40747,13 @@ 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 void setDataEnabled(boolean); method public deprecated 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); api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4039,7 +4039,7 @@ package android.telephony { method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle); method public boolean needsOtaServiceProvisioning(); method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public void setDataEnabled(int, boolean); method public deprecated void setDataEnabled(int, boolean); method public boolean setRadio(boolean); method public boolean setRadioPower(boolean); method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean); Loading core/java/android/net/ConnectivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -1794,7 +1794,7 @@ public class ConnectivityManager { ITelephony it = ITelephony.Stub.asInterface(b); int subId = SubscriptionManager.getDefaultDataSubscriptionId(); Log.d("ConnectivityManager", "getMobileDataEnabled()+ subId=" + subId); boolean retVal = it.getDataEnabled(subId); boolean retVal = it.isUserDataEnabled(subId); Log.d("ConnectivityManager", "getMobileDataEnabled()- subId=" + subId + " retVal=" + retVal); return retVal; Loading telephony/java/android/telephony/TelephonyManager.java +116 −27 Original line number Diff line number Diff line Loading @@ -5676,39 +5676,38 @@ public class TelephonyManager { * @param enable Whether to enable mobile data. * * @see #hasCarrierPrivileges * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead. */ @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean enable) { setDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()), enable); setUserMobileDataEnabled(enable); } /** @hide */ /** * @hide * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead. */ @SystemApi @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int subId, boolean enable) { try { Log.d(TAG, "setDataEnabled: enabled=" + enable); ITelephony telephony = getITelephony(); if (telephony != null) telephony.setDataEnabled(subId, enable); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#setDataEnabled", e); } setUserMobileDataEnabled(subId, enable); } /** * @deprecated use {@link #isDataEnabled()} instead. * @deprecated use {@link #isUserMobileDataEnabled()} instead. * @hide */ @SystemApi @Deprecated public boolean getDataEnabled() { return isDataEnabled(); return isUserMobileDataEnabled(); } /** * Returns whether mobile data is enabled or not. * 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()} Loading @@ -5725,28 +5724,21 @@ public class TelephonyManager { * @return true if mobile data is enabled. * * @see #hasCarrierPrivileges * @deprecated use {@link #isUserMobileDataEnabled()} instead. */ @SuppressWarnings("deprecation") @Deprecated public boolean isDataEnabled() { return getDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId())); return isUserMobileDataEnabled(); } /** * @deprecated use {@link #isDataEnabled(int)} instead. * @deprecated use {@link #isUserMobileDataEnabled()} instead. * @hide */ @Deprecated @SystemApi public boolean getDataEnabled(int subId) { boolean retVal = false; try { ITelephony telephony = getITelephony(); if (telephony != null) retVal = telephony.getDataEnabled(subId); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#getDataEnabled", e); } catch (NullPointerException e) { } return retVal; return isUserMobileDataEnabled(subId); } /** @hide */ Loading Loading @@ -6898,4 +6890,101 @@ 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. * * @param enable Whether to enable mobile data. * * @see #hasCarrierPrivileges */ @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. * * <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. * * @see #hasCarrierPrivileges */ @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. */ public boolean isMobileDataEnabled() { boolean retVal = false; try { int subId = getSubId(SubscriptionManager.getDefaultDataSubscriptionId()); ITelephony telephony = getITelephony(); if (telephony != null) retVal = telephony.isDataEnabled(subId); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#isDataEnabled", e); } catch (NullPointerException e) { } 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); } } } telephony/java/com/android/internal/telephony/ITelephony.aidl +20 −1 Original line number Diff line number Diff line Loading @@ -870,15 +870,34 @@ interface ITelephony { * * @param enable true to turn on, else false */ void setDataEnabled(int subId, boolean enable); void setUserDataEnabled(int subId, boolean enable); /** * Get the user enabled state of Mobile Data. * * TODO: remove and use isUserDataEnabled. * This can't be removed now because some vendor codes * calls through ITelephony directly while they should * use TelephonyManager. * * @return true on enabled */ boolean getDataEnabled(int subId); /** * Get the user enabled state of Mobile Data. * * @return true on enabled */ boolean isUserDataEnabled(int subId); /** * Get the overall enabled state of Mobile Data. * * @return true on enabled */ boolean isDataEnabled(int subId); /** * Get P-CSCF address from PCO after data connection is established or modified. * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN Loading Loading
api/current.txt +4 −2 Original line number Diff line number Diff line Loading @@ -40732,11 +40732,12 @@ 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 boolean isDataEnabled(); method public deprecated 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(); Loading @@ -40746,12 +40747,13 @@ 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 void setDataEnabled(boolean); method public deprecated 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);
api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4039,7 +4039,7 @@ package android.telephony { method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle); method public boolean needsOtaServiceProvisioning(); method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public void setDataEnabled(int, boolean); method public deprecated void setDataEnabled(int, boolean); method public boolean setRadio(boolean); method public boolean setRadioPower(boolean); method public deprecated void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean); Loading
core/java/android/net/ConnectivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -1794,7 +1794,7 @@ public class ConnectivityManager { ITelephony it = ITelephony.Stub.asInterface(b); int subId = SubscriptionManager.getDefaultDataSubscriptionId(); Log.d("ConnectivityManager", "getMobileDataEnabled()+ subId=" + subId); boolean retVal = it.getDataEnabled(subId); boolean retVal = it.isUserDataEnabled(subId); Log.d("ConnectivityManager", "getMobileDataEnabled()- subId=" + subId + " retVal=" + retVal); return retVal; Loading
telephony/java/android/telephony/TelephonyManager.java +116 −27 Original line number Diff line number Diff line Loading @@ -5676,39 +5676,38 @@ public class TelephonyManager { * @param enable Whether to enable mobile data. * * @see #hasCarrierPrivileges * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead. */ @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean enable) { setDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()), enable); setUserMobileDataEnabled(enable); } /** @hide */ /** * @hide * @deprecated use {@link #setUserMobileDataEnabled(boolean)} instead. */ @SystemApi @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int subId, boolean enable) { try { Log.d(TAG, "setDataEnabled: enabled=" + enable); ITelephony telephony = getITelephony(); if (telephony != null) telephony.setDataEnabled(subId, enable); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#setDataEnabled", e); } setUserMobileDataEnabled(subId, enable); } /** * @deprecated use {@link #isDataEnabled()} instead. * @deprecated use {@link #isUserMobileDataEnabled()} instead. * @hide */ @SystemApi @Deprecated public boolean getDataEnabled() { return isDataEnabled(); return isUserMobileDataEnabled(); } /** * Returns whether mobile data is enabled or not. * 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()} Loading @@ -5725,28 +5724,21 @@ public class TelephonyManager { * @return true if mobile data is enabled. * * @see #hasCarrierPrivileges * @deprecated use {@link #isUserMobileDataEnabled()} instead. */ @SuppressWarnings("deprecation") @Deprecated public boolean isDataEnabled() { return getDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId())); return isUserMobileDataEnabled(); } /** * @deprecated use {@link #isDataEnabled(int)} instead. * @deprecated use {@link #isUserMobileDataEnabled()} instead. * @hide */ @Deprecated @SystemApi public boolean getDataEnabled(int subId) { boolean retVal = false; try { ITelephony telephony = getITelephony(); if (telephony != null) retVal = telephony.getDataEnabled(subId); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#getDataEnabled", e); } catch (NullPointerException e) { } return retVal; return isUserMobileDataEnabled(subId); } /** @hide */ Loading Loading @@ -6898,4 +6890,101 @@ 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. * * @param enable Whether to enable mobile data. * * @see #hasCarrierPrivileges */ @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. * * <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. * * @see #hasCarrierPrivileges */ @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. */ public boolean isMobileDataEnabled() { boolean retVal = false; try { int subId = getSubId(SubscriptionManager.getDefaultDataSubscriptionId()); ITelephony telephony = getITelephony(); if (telephony != null) retVal = telephony.isDataEnabled(subId); } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#isDataEnabled", e); } catch (NullPointerException e) { } 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); } } }
telephony/java/com/android/internal/telephony/ITelephony.aidl +20 −1 Original line number Diff line number Diff line Loading @@ -870,15 +870,34 @@ interface ITelephony { * * @param enable true to turn on, else false */ void setDataEnabled(int subId, boolean enable); void setUserDataEnabled(int subId, boolean enable); /** * Get the user enabled state of Mobile Data. * * TODO: remove and use isUserDataEnabled. * This can't be removed now because some vendor codes * calls through ITelephony directly while they should * use TelephonyManager. * * @return true on enabled */ boolean getDataEnabled(int subId); /** * Get the user enabled state of Mobile Data. * * @return true on enabled */ boolean isUserDataEnabled(int subId); /** * Get the overall enabled state of Mobile Data. * * @return true on enabled */ boolean isDataEnabled(int subId); /** * Get P-CSCF address from PCO after data connection is established or modified. * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN Loading