setWfcSetting: set WFC mode w.r.t. roaming state
When turing on WFC, WFC mode in modem should also be updated
to user set WFC mode: roaming mode if in roaming network or
home mode otherwise.
The code was using home mode always; so it causes user setting
mismatch with modem setting in roaming, if home mode is different
from roaming mode.
Bug: 77882002
Test: manual - force device in roaming state, and turn on WFC;
verify that modem uses roaming mode not home mode.
Change-Id: I510aa469736de7a9262a87ec6399f5ca97cb3af1
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index e7a857d..8e54771 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -875,7 +875,9 @@
SubscriptionManager.setSubscriptionProperty(getSubId(),
SubscriptionManager.WFC_IMS_ENABLED, booleanToPropertyString(enabled));
- setWfcNonPersistent(enabled, getWfcMode());
+ TelephonyManager tm = (TelephonyManager)
+ mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ setWfcNonPersistent(enabled, getWfcMode(tm.isNetworkRoaming(getSubId())));
}
/**