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())));
     }
 
     /**