diff --git a/api/system-current.txt b/api/system-current.txt index 3a988314cc715..9375eb4c2cff8 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -9684,6 +9684,7 @@ 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 isApplicationOnUicc(int); method public boolean isCurrentSimOperator(@NonNull String, int, @Nullable String); + method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataAllowedInVoiceCall(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionEnabled(); method public boolean isDataConnectivityPossible(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int); @@ -9722,6 +9723,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean); 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 @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setDataAllowedDuringVoiceCall(boolean); method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 949225146e6fe..400b6560d285e 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -12408,6 +12408,7 @@ public class TelephonyManager { } /** +<<<<<<< HEAD * Gets the voice call forwarding info {@link CallForwardingInfo}, given the call forward * reason. * @@ -12593,15 +12594,21 @@ public class TelephonyManager { } /** - * Set allowing mobile data during voice call. + * Set allowing mobile data during voice call. This is used for allowing data on the non-default + * data SIM. When a voice call is placed on the non-default data SIM on DSDS devices, users will + * not be able to use mobile data. By calling this API, data will be temporarily enabled on the + * non-default data SIM during the life cycle of the voice call. * * @param allow {@code true} if allowing using data during voice call, {@code false} if - * disallowed + * disallowed. * - * @return {@code false} if the setting is changed. + * @return {@code true} if operation is successful. otherwise {@code false}. + * + * @throws SecurityException if the caller doesn't have the permission. * * @hide */ + @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setDataAllowedDuringVoiceCall(boolean allow) { try { @@ -12610,6 +12617,7 @@ public class TelephonyManager { return service.setDataAllowedDuringVoiceCall(getSubId(), allow); } } catch (RemoteException ex) { + // This could happen if binder process crashes. if (!isSystemProcess()) { ex.rethrowAsRuntimeException(); } @@ -12618,13 +12626,18 @@ public class TelephonyManager { } /** - * Check whether data is allowed during voice call. Note this is for dual sim device that - * data might be disabled on non-default data subscription but explicitly turned on by settings. + * Check whether data is allowed during voice call. This is used for allowing data on the + * non-default data SIM. When a voice call is placed on the non-default data SIM on DSDS + * devices, users will not be able to use mobile data. By calling this API, data will be + * temporarily enabled on the non-default data SIM during the life cycle of the voice call. * * @return {@code true} if data is allowed during voice call. * + * @throws SecurityException if the caller doesn't have the permission. + * * @hide */ + @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataAllowedInVoiceCall() { try { @@ -12633,6 +12646,7 @@ public class TelephonyManager { return service.isDataAllowedInVoiceCall(getSubId()); } } catch (RemoteException ex) { + // This could happen if binder process crashes. if (!isSystemProcess()) { ex.rethrowAsRuntimeException(); }