[Settings] Expose @hide #setDataAllowedDuringVoiceCall and #isDataAllowedInVoiceCall as @SystemApi

Bug: 146107006
Test: make
Change-Id: Ib0e6bfa01db9cfabae7ebcce4548dc885e589144
This commit is contained in:
zoey chen
2019-12-12 16:07:21 +08:00
parent 2c72e9d8c4
commit 66f08c4947
2 changed files with 20 additions and 5 deletions

View File

@@ -10613,6 +10613,7 @@ package android.telephony {
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 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);
@@ -10648,6 +10649,7 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setCdmaRoamingMode(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setCdmaSubscriptionMode(int);
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);

View File

@@ -12383,15 +12383,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 {
@@ -12400,6 +12406,7 @@ public class TelephonyManager {
return service.setDataAllowedDuringVoiceCall(getSubId(), allow);
}
} catch (RemoteException ex) {
// This could happen if binder process crashes.
if (!isSystemProcess()) {
ex.rethrowAsRuntimeException();
}
@@ -12408,13 +12415,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 {
@@ -12423,6 +12435,7 @@ public class TelephonyManager {
return service.isDataAllowedInVoiceCall(getSubId());
}
} catch (RemoteException ex) {
// This could happen if binder process crashes.
if (!isSystemProcess()) {
ex.rethrowAsRuntimeException();
}