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/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index e5527bc..a3b0892 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -16,24 +16,18 @@
 
 package com.android.phone;
 
-import android.app.ActionBar;
 import android.app.Activity;
-import android.app.ActivityOptions;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
 import android.os.PersistableBundle;
-import android.os.UserHandle;
 import android.os.UserManager;
-import android.preference.ListPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
@@ -42,10 +36,9 @@
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
-import android.telephony.ims.feature.ImsFeature;
 import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
-import android.text.TextUtils;
+import android.telephony.ims.feature.ImsFeature;
 import android.util.Log;
 import android.view.MenuItem;
 import android.widget.Toast;
@@ -53,18 +46,12 @@
 import com.android.ims.ImsConfig;
 import com.android.ims.ImsException;
 import com.android.ims.ImsManager;
-import com.android.internal.telephony.CallForwardInfo;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
-import com.android.phone.common.util.SettingsUtil;
-import com.android.phone.settings.AccountSelectionPreference;
 import com.android.phone.settings.PhoneAccountSettingsFragment;
 import com.android.phone.settings.VoicemailSettingsActivity;
 import com.android.phone.settings.fdn.FdnSetting;
-import com.android.services.telephony.sip.SipUtil;
 
-import java.lang.String;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -144,7 +131,7 @@
         if (DBG) log("onPreferenceChange: \"" + preference + "\" changed to \"" + objValue + "\"");
 
         if (preference == mEnableVideoCalling) {
-            if (ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mPhone.getContext())) {
+            if (mImsMgr.isEnhanced4gLteModeSettingEnabledByUser()) {
                 PhoneGlobals.getInstance().phoneMgr.enableVideoCalling((boolean) objValue);
             } else {
                 AlertDialog.Builder builder = new AlertDialog.Builder(this);
@@ -296,13 +283,12 @@
             }
         }
 
-        if (ImsManager.isVtEnabledByPlatform(mPhone.getContext()) &&
-                ImsManager.isVtProvisionedOnDevice(mPhone.getContext()) &&
-                (carrierConfig.getBoolean(
+        if (mImsMgr.isVtEnabledByPlatform() && mImsMgr.isVtProvisionedOnDevice()
+                && (carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
-                        || mPhone.mDcTracker.isDataEnabled())) {
+                || mPhone.mDcTracker.isDataEnabled())) {
             boolean currentValue =
-                    ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mPhone.getContext())
+                    mImsMgr.isEnhanced4gLteModeSettingEnabledByUser()
                     ? PhoneGlobals.getInstance().phoneMgr.isVideoCallingEnabled(
                             getOpPackageName()) : false;
             mEnableVideoCalling.setChecked(currentValue);
@@ -311,8 +297,8 @@
             prefSet.removePreference(mEnableVideoCalling);
         }
 
-        if (ImsManager.isVolteEnabledByPlatform(this) &&
-                !carrierConfig.getBoolean(
+        if (mImsMgr.isVolteEnabledByPlatform()
+                && !carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL)) {
             TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
             /* tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); */
@@ -338,14 +324,13 @@
             } else {
                 prefSet.removePreference(wifiCallingSettings);
             }
-        } else if (!ImsManager.isWfcEnabledByPlatform(mPhone.getContext()) ||
-                !ImsManager.isWfcProvisionedOnDevice(mPhone.getContext())) {
+        } else if (!mImsMgr.isWfcEnabledByPlatform() || !mImsMgr.isWfcProvisionedOnDevice()) {
             prefSet.removePreference(wifiCallingSettings);
         } else {
             int resId = com.android.internal.R.string.wifi_calling_off_summary;
-            if (ImsManager.isWfcEnabledByUser(mPhone.getContext())) {
+            if (mImsMgr.isWfcEnabledByUser()) {
                 boolean isRoaming = telephonyManager.isNetworkRoaming();
-                int wfcMode = ImsManager.getWfcMode(mPhone.getContext(), isRoaming);
+                int wfcMode = mImsMgr.getWfcMode(isRoaming);
                 switch (wfcMode) {
                     case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
                         resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;