Replace ImsManager static methods with proper ones.

ImsManager static methods are deprecated since it doesn't support
MSIM devices. It will now always call getInstance with phoneId and
then call corresponding non-static methods.

Bug: 67602046
Test: regression tests
Change-Id: Iad4baa81c475704ea552c83b3beed93b08532722
Merged-In: Iad4baa81c475704ea552c83b3beed93b08532722
diff --git a/src/com/android/phone/ImsUtil.java b/src/com/android/phone/ImsUtil.java
index b6c88ae..4d8ff80 100644
--- a/src/com/android/phone/ImsUtil.java
+++ b/src/com/android/phone/ImsUtil.java
@@ -20,6 +20,7 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
 import android.util.Log;
 
 import com.android.ims.ImsConfig;
@@ -52,8 +53,9 @@
      * @return {@code true} if WFC is supported by the platform and has been enabled by the user.
      */
     public static boolean isWfcEnabled(Context context) {
-        boolean isEnabledByPlatform = ImsManager.isWfcEnabledByPlatform(context);
-        boolean isEnabledByUser = ImsManager.isWfcEnabledByUser(context);
+        ImsManager imsManager = getDefaultImsManagerInstance(context);
+        boolean isEnabledByPlatform = imsManager.isWfcEnabledByPlatform();
+        boolean isEnabledByUser = imsManager.isWfcEnabledByUser();
         if (DBG) Log.d(LOG_TAG, "isWfcEnabled :: isEnabledByPlatform=" + isEnabledByPlatform);
         if (DBG) Log.d(LOG_TAG, "isWfcEnabled :: isEnabledByUser=" + isEnabledByUser);
         return isEnabledByPlatform && isEnabledByUser;
@@ -64,8 +66,8 @@
      * enabled, this will return {@code false}.
      */
     public static boolean isWfcModeWifiOnly(Context context) {
-        boolean isWifiOnlyMode =
-                ImsManager.getWfcMode(context) == ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
+        boolean isWifiOnlyMode = getDefaultImsManagerInstance(context).getWfcMode()
+                == ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
         if (DBG) Log.d(LOG_TAG, "isWfcModeWifiOnly :: isWifiOnlyMode" + isWifiOnlyMode);
         return isWfcEnabled(context) && isWifiOnlyMode;
     }
@@ -86,7 +88,7 @@
             return false;
         }
 
-        if (!ImsManager.isWfcProvisionedOnDevice(context)) {
+        if (!getDefaultImsManagerInstance(context).isWfcProvisionedOnDevice()) {
             return false;
         }
 
@@ -100,4 +102,8 @@
         }
         return false;
     }
+
+    private static ImsManager getDefaultImsManagerInstance(Context context) {
+        return ImsManager.getInstance(context, SubscriptionManager.getDefaultVoicePhoneId());
+    }
 }