Add new methods for setting mobile data policy
Add isMobileDataPolicyEnabled and setMobileDataPolicyEnabledStatus in TelephonyManager. These are intended to replace the mms-always-allowed and data-during-voice-call setters/getters. Old methods will be removed in a follow up commit. Fixes: 169367013 Test: atest TelephonyManagerTest Change-Id: I6033a84f0a0163e460343ebf603d66078455fe38
This commit is contained in:
@@ -11446,6 +11446,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
||||||
@@ -11476,6 +11477,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, 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 setDataRoamingEnabled(boolean);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
||||||
@@ -11526,6 +11528,8 @@ package android.telephony {
|
|||||||
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
||||||
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
||||||
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
||||||
|
field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
|
||||||
|
field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
|
||||||
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
||||||
|
|||||||
@@ -4194,11 +4194,13 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
|
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
|
||||||
method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
|
method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
|
||||||
method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting);
|
method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
|
||||||
method @RequiresPermission("android.permission.READ_ACTIVE_EMERGENCY_SESSION") public void resetOtaEmergencyNumberDbFilePath();
|
method @RequiresPermission("android.permission.READ_ACTIVE_EMERGENCY_SESSION") public void resetOtaEmergencyNumberDbFilePath();
|
||||||
method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String);
|
method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String);
|
||||||
method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String);
|
method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
|
||||||
method @RequiresPermission("android.permission.READ_ACTIVE_EMERGENCY_SESSION") public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
|
method @RequiresPermission("android.permission.READ_ACTIVE_EMERGENCY_SESSION") public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
|
||||||
@@ -4207,6 +4209,8 @@ package android.telephony {
|
|||||||
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
||||||
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
||||||
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
||||||
|
field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
|
||||||
|
field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
|
||||||
field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff
|
field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10308,6 +10308,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
||||||
@@ -10338,6 +10339,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, 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 setDataRoamingEnabled(boolean);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
||||||
@@ -10388,6 +10390,8 @@ package android.telephony {
|
|||||||
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
||||||
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
||||||
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
||||||
|
field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
|
||||||
|
field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
|
||||||
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
||||||
|
|||||||
@@ -731,6 +731,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
|
||||||
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
|
||||||
@@ -761,6 +762,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, 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 setDataRoamingEnabled(boolean);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
|
||||||
@@ -811,6 +813,8 @@ package android.telephony {
|
|||||||
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
|
||||||
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
field public static final int KEY_TYPE_EPDG = 1; // 0x1
|
||||||
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
field public static final int KEY_TYPE_WLAN = 2; // 0x2
|
||||||
|
field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
|
||||||
|
field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
|
||||||
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
|
||||||
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
|
||||||
|
|||||||
@@ -13323,10 +13323,101 @@ public class TelephonyManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set allowing mobile data during voice call. This is used for allowing data on the non-default
|
* Controls whether mobile data on the non-default SIM is allowed during a voice call.
|
||||||
* 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
|
* This is used for allowing data on the non-default data SIM when a voice call is placed on
|
||||||
* non-default data SIM during the life cycle of the voice call.
|
* the non-default data SIM on DSDS devices. If this policy is disabled, users will not be able
|
||||||
|
* to use mobile data via the non-default data SIM during the call, which may mean no mobile
|
||||||
|
* data at all since some modem implementations disallow mobile data via the default data SIM
|
||||||
|
* during voice calls.
|
||||||
|
* If this policy is enabled, data will be temporarily enabled on the non-default data SIM
|
||||||
|
* during any voice calls.
|
||||||
|
*
|
||||||
|
* This policy can be enabled and disabled via {@link #setMobileDataPolicyEnabledStatus}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controls whether MMS messages bypass the user-specified "mobile data" toggle.
|
||||||
|
*
|
||||||
|
* When enabled, requests for connections to the MMS APN will be accepted by telephony even if
|
||||||
|
* the user has turned "mobile data" off on this specific sim card. {@link #isDataEnabledForApn}
|
||||||
|
* will also return true for {@link ApnSetting#TYPE_MMS}.
|
||||||
|
* When disabled, the MMS APN will be governed by the same rules as all other APNs.
|
||||||
|
*
|
||||||
|
* This policy can be enabled and disabled via {@link #setMobileDataPolicyEnabledStatus}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@IntDef(prefix = { "MOBILE_DATA_POLICY_" }, value = {
|
||||||
|
MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL,
|
||||||
|
MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED,
|
||||||
|
})
|
||||||
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
public @interface MobileDataPolicy { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables or disables a piece of mobile data policy.
|
||||||
|
*
|
||||||
|
* Enables or disables the mobile data policy specified in {@code policy}. See the detailed
|
||||||
|
* description of each policy constant for what they do.
|
||||||
|
*
|
||||||
|
* @param policy The data policy to enable.
|
||||||
|
* @param enabled Whether to enable or disable the policy.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
|
public void setMobileDataPolicyEnabledStatus(@MobileDataPolicy int policy, boolean enabled) {
|
||||||
|
try {
|
||||||
|
ITelephony service = getITelephony();
|
||||||
|
if (service != null) {
|
||||||
|
service.setMobileDataPolicyEnabledStatus(getSubId(), policy, enabled);
|
||||||
|
}
|
||||||
|
} catch (RemoteException ex) {
|
||||||
|
// This could happen if binder process crashes.
|
||||||
|
if (!isSystemProcess()) {
|
||||||
|
ex.rethrowAsRuntimeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetches the status of a piece of mobile data policy.
|
||||||
|
*
|
||||||
|
* @param policy The data policy that you want the status for.
|
||||||
|
* @return {@code true} if enabled, {@code false} otherwise.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||||
|
public boolean isMobileDataPolicyEnabled(@MobileDataPolicy int policy) {
|
||||||
|
try {
|
||||||
|
ITelephony service = getITelephony();
|
||||||
|
if (service != null) {
|
||||||
|
return service.isMobileDataPolicyEnabled(getSubId(), policy);
|
||||||
|
}
|
||||||
|
} catch (RemoteException ex) {
|
||||||
|
// This could happen if binder process crashes.
|
||||||
|
if (!isSystemProcess()) {
|
||||||
|
ex.rethrowAsRuntimeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
*
|
*
|
||||||
* @param allow {@code true} if allowing using data during voice call, {@code false} if
|
* @param allow {@code true} if allowing using data during voice call, {@code false} if
|
||||||
* disallowed.
|
* disallowed.
|
||||||
|
|||||||
@@ -2172,6 +2172,10 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
String getMmsUAProfUrl(int subId);
|
String getMmsUAProfUrl(int subId);
|
||||||
|
|
||||||
|
void setMobileDataPolicyEnabledStatus(int subscriptionId, int policy, boolean enabled);
|
||||||
|
|
||||||
|
boolean isMobileDataPolicyEnabled(int subscriptionId, int policy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set allowing mobile data during voice call.
|
* Set allowing mobile data during voice call.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user