diff options
| author | 2022-06-01 17:08:53 -0700 | |
|---|---|---|
| committer | 2022-08-24 23:36:56 -0700 | |
| commit | 4b4d8799c23deef66aef4510bf3df02e3a57a8b2 (patch) | |
| tree | b3e22ad3288179c7adb1299a8090d51cee0bd97d | |
| parent | 02772f2e7a6f497a6e209bb8104681468d40d090 (diff) | |
Supported UNKNOWN in IWLAN handover rule
Extended handover rule to support the scenario that
handover should be blocked when source network goes
out of service.
Test: Basic testing + Wifi calling handover test + atest DataNetworkControllerTest
Bug: 234095834
Merged-In: I68c23f970af2a554ab438f630363be4591664cbb
Change-Id: I68c23f970af2a554ab438f630363be4591664cbb
| -rw-r--r-- | telephony/java/android/telephony/AccessNetworkConstants.java | 16 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 7 |
2 files changed, 15 insertions, 8 deletions
diff --git a/telephony/java/android/telephony/AccessNetworkConstants.java b/telephony/java/android/telephony/AccessNetworkConstants.java index 4469ffc14447..7eec86a40c13 100644 --- a/telephony/java/android/telephony/AccessNetworkConstants.java +++ b/telephony/java/android/telephony/AccessNetworkConstants.java @@ -115,15 +115,15 @@ public final class AccessNetworkConstants { /** @hide */ public static @RadioAccessNetworkType int fromString(@NonNull String str) { switch (str.toUpperCase()) { - case "GERAN" : return GERAN; - case "UTRAN" : return UTRAN; - case "EUTRAN" : return EUTRAN; - case "CDMA2000" : return CDMA2000; - case "IWLAN" : return IWLAN; - case "NGRAN" : return NGRAN; + case "UNKNOWN": return UNKNOWN; + case "GERAN": return GERAN; + case "UTRAN": return UTRAN; + case "EUTRAN": return EUTRAN; + case "CDMA2000": return CDMA2000; + case "IWLAN": return IWLAN; + case "NGRAN": return NGRAN; default: - Rlog.e(TAG, "Invalid access network type " + str); - return UNKNOWN; + throw new IllegalArgumentException("Invalid access network type " + str); } } } diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 8956b4652f66..1353590b2d07 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -5844,6 +5844,13 @@ public class CarrierConfigManager { * IWLAN handover rules that determine whether handover is allowed or disallowed between * cellular and IWLAN. * + * Rule syntax: "source=[GERAN|UTRAN|EUTRAN|NGRAN|IWLAN|UNKNOWN], target=[GERAN|UTRAN|EUTRAN + * |NGRAN|IWLAN], type=[allowed|disallowed], roaming=[true|false], capabilities=[INTERNET|MMS + * |FOTA|IMS|CBS|SUPL|EIMS|XCAP|DUN]" + * + * Note that UNKNOWN can be only specified in the source access network and can be only used + * in the disallowed rule. + * * The handover rules will be matched in the order. Here are some sample rules. * <string-array name="iwlan_handover_rules" num="5"> * <!-- Handover from IWLAN to 2G/3G is not allowed --> |