Add MOBILE_DATA_POLICY_AUTO_DATA_SWITCH

The feature only applies to non-DDS. If enabled, we automatically switch to the non-DDS for data traffic when it has better availability than the DDS.

Test: cts
Bug: 244064524
Merged-In: Id827b3e253b637273504d87c8db64893c7b70924
Change-Id: Id827b3e253b637273504d87c8db64893c7b70924
This commit is contained in:
Ling Ma
2022-09-14 20:34:17 -07:00
committed by Jack Yu
parent 579d37f3ab
commit 09b3c89b1c
3 changed files with 21 additions and 0 deletions

View File

@@ -13624,6 +13624,7 @@ 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_AUTO_DATA_SWITCH = 3; // 0x3
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_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 MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2 field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2

View File

@@ -206,6 +206,8 @@ public final class TelephonyUtils {
return "DATA_ON_NON_DEFAULT_DURING_VOICE_CALL"; return "DATA_ON_NON_DEFAULT_DURING_VOICE_CALL";
case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED: case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
return "MMS_ALWAYS_ALLOWED"; return "MMS_ALWAYS_ALLOWED";
case TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH:
return "AUTO_DATA_SWITCH";
default: default:
return "UNKNOWN(" + mobileDataPolicy + ")"; return "UNKNOWN(" + mobileDataPolicy + ")";
} }

View File

@@ -15400,12 +15400,30 @@ public class TelephonyManager {
@SystemApi @SystemApi
public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2;
/**
* Allow switching mobile data to the non-default SIM if the non-default SIM has better
* availability.
*
* This is used for temporarily allowing data on the non-default data SIM when on-default SIM
* has better availability on DSDS devices, where better availability means strong
* signal/connectivity.
* If this policy is enabled, data will be temporarily enabled on the non-default data SIM,
* including during any voice calls(equivalent to enabling
* {@link #MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL}).
*
* This policy can be enabled and disabled via {@link #setMobileDataPolicyEnabled}.
* @hide
*/
@SystemApi
public static final int MOBILE_DATA_POLICY_AUTO_DATA_SWITCH = 3;
/** /**
* @hide * @hide
*/ */
@IntDef(prefix = { "MOBILE_DATA_POLICY_" }, value = { @IntDef(prefix = { "MOBILE_DATA_POLICY_" }, value = {
MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL, MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL,
MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED,
MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
}) })
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface MobileDataPolicy { } public @interface MobileDataPolicy { }