summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sarah Chin <sarahchin@google.com> 2022-06-01 17:08:53 -0700
committer Jack Yu <jackyu@google.com> 2022-08-24 23:36:56 -0700
commit4b4d8799c23deef66aef4510bf3df02e3a57a8b2 (patch)
treeb3e22ad3288179c7adb1299a8090d51cee0bd97d
parent02772f2e7a6f497a6e209bb8104681468d40d090 (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.java16
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java7
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 -->