Add CarrierConfig to use WFC home network mode in roaming network
Add a config whether the carrier will use the WFC home network mode in
roaming netork.
Test: manual - Checked that use the WFC mode according to CarrierConfig
value.
Bug: 79666081
Merged-In: I19fd3818c97db2565e13c5272c5307deef1331d1
Change-Id: I19fd3818c97db2565e13c5272c5307deef1331d1
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index aef3dbf..e34b1d8 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -1812,17 +1812,32 @@
/**
* Determine whether user can change Wi-Fi Calling preference in roaming.
- * {@code false} - roaming preference {@link KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT} is
- * the same as home preference {@link KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT}
- * and cannot be changed.
- * {@code true} - roaming preference can be changed by user independently.
- *
+ * {@code false} - roaming preference cannot be changed by user independently. If
+ * {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is false,
+ * {@link #KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT} is used as the default
+ * value. If {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is
+ * true, roaming preference is the same as home preference and
+ * {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} is used as the default value.
+ * {@code true} - roaming preference can be changed by user independently if
+ * {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is false. If
+ * {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is true, this
+ * configuration is ignored and roaming preference cannot be changed.
* @hide
*/
public static final String KEY_EDITABLE_WFC_ROAMING_MODE_BOOL =
"editable_wfc_roaming_mode_bool";
/**
+ * Flag specifying whether the carrier will use the WFC home network mode in roaming network.
+ * {@code false} - roaming preference can be selected separately from the home preference.
+ * {@code true} - roaming preference is the same as home preference and
+ * {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} is used as the default value.
+ * @hide
+ */
+ public static final String KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL =
+ "use_wfc_home_network_mode_in_roaming_network_bool";
+
+ /**
* Determine whether current lpp_mode used for E-911 needs to be kept persistently.
* {@code false} - not keeping the lpp_mode means using default configuration of gps.conf
* when sim is not presented.
@@ -2723,6 +2738,7 @@
sDefaults.putBoolean(KEY_NOTIFY_VT_HANDOVER_TO_WIFI_FAILURE_BOOL, false);
sDefaults.putStringArray(KEY_FILTERED_CNAP_NAMES_STRING_ARRAY, null);
sDefaults.putBoolean(KEY_EDITABLE_WFC_ROAMING_MODE_BOOL, false);
+ sDefaults.putBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, false);
sDefaults.putBoolean(KEY_STK_DISABLE_LAUNCH_BROWSER_BOOL, false);
sDefaults.putBoolean(KEY_PERSIST_LPP_MODE_BOOL, true);
sDefaults.putStringArray(KEY_CARRIER_WIFI_STRING_ARRAY, null);