diff options
author | Hiroto Tarui <hiroto.xa.tarui@sony.com> | 2019-02-14 18:34:40 +0900 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2019-03-06 23:36:57 +0000 |
commit | d94a0e3d36d2125ab8ac7be08e7f6cd997e1da45 (patch) | |
tree | f1a3c7b1bf86e137ff69d0d53e216c299ca65ea1 | |
parent | fcd9bdc84c04a135f95ec1ce180d94655be4bfff (diff) | |
download | ims-d94a0e3d36d2125ab8ac7be08e7f6cd997e1da45.tar.gz |
Return the WFC roaming mode according to CarrierConfig value
If use_wfc_home_network_mode_in_roaming_mode_bool is true,
ImsManager returns WFC home mode for roaming network.
Test: manual - Checked that return the home or roaming WFC mode
according to CarrierConfig value.
Test: auto - Passed ImsManagerTest.
Bug: 79666081
Merged-In: Ic2ad68ecf506f50e64e53e2046d9256b5aac8683
Change-Id: Ic2ad68ecf506f50e64e53e2046d9256b5aac8683
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index 5996c9a6..3e8a32e2 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -1084,13 +1084,18 @@ public class ImsManager { } if (DBG) log("getWfcMode - setting=" + setting); } else { - // The WFC roaming mode is set in the Settings UI to be the same as the WFC mode if the - // roaming mode is set to not "editable" (see - // CarrierConfigManager.KEY_EDITABLE_WFC_ROAMING_MODE_BOOL for explanation), so can't - // override those settings here by setting the WFC roaming mode to default, like above. - setting = getSettingFromSubscriptionManager( - SubscriptionManager.WFC_IMS_ROAMING_MODE, - CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT); + if (getBooleanCarrierConfig( + CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)) { + setting = getWfcMode(false); + } else if (!getBooleanCarrierConfig( + CarrierConfigManager.KEY_EDITABLE_WFC_ROAMING_MODE_BOOL)) { + setting = getIntCarrierConfig( + CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT); + } else { + setting = getSettingFromSubscriptionManager( + SubscriptionManager.WFC_IMS_ROAMING_MODE, + CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT); + } if (DBG) log("getWfcMode (roaming) - setting=" + setting); } return setting; |