Update ImsConfig on boot up and SIM swap

Bug: 19710775
Change-Id: I64c54a6bd2d212b6931ebe59d7174460e776bca8
diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
index a280707..928edef 100644
--- a/src/java/com/android/internal/telephony/PhoneBase.java
+++ b/src/java/com/android/internal/telephony/PhoneBase.java
@@ -107,6 +107,7 @@
                 if (intent.getAction().equals(ImsManager.ACTION_IMS_SERVICE_UP)) {
                     mImsServiceReady = true;
                     updateImsPhone();
+                    ImsManager.updateImsServiceConfig(mContext, mPhoneId, false);
                 } else if (intent.getAction().equals(ImsManager.ACTION_IMS_SERVICE_DOWN)) {
                     mImsServiceReady = false;
                     updateImsPhone();
@@ -495,6 +496,7 @@
             if (imsManager != null && imsManager.isServiceAvailable()) {
                 mImsServiceReady = true;
                 updateImsPhone();
+                ImsManager.updateImsServiceConfig(mContext, mPhoneId, false);
             }
         }
     }
diff --git a/src/java/com/android/internal/telephony/PhoneProxy.java b/src/java/com/android/internal/telephony/PhoneProxy.java
index 6116e02..aa2f4cf 100644
--- a/src/java/com/android/internal/telephony/PhoneProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneProxy.java
@@ -40,6 +40,7 @@
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionManager;
 
+import com.android.ims.ImsManager;
 import com.android.internal.telephony.cdma.CDMAPhone;
 import com.android.internal.telephony.gsm.GSMPhone;
 import com.android.internal.telephony.imsphone.ImsPhone;
@@ -170,6 +171,8 @@
                 mCommandsInterface.getVoiceRadioTechnology(obtainMessage(
                         EVENT_REQUEST_VOICE_RADIO_TECH_DONE));
             }
+            // Force update IMS service
+            ImsManager.updateImsServiceConfig(mContext, mPhoneId, true);
             break;
 
         default: