Merge "Lightweight fix for incorrect locale changes - DO NOT MERGE" into lmp-mr1-dev
diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
index ce69689..e1444ee 100644
--- a/src/java/com/android/internal/telephony/PhoneBase.java
+++ b/src/java/com/android/internal/telephony/PhoneBase.java
@@ -425,7 +425,13 @@
         mUiccController = UiccController.getInstance();
         mUiccController.registerForIccChanged(this, EVENT_ICC_CHANGED, null);
 
-        // Monitor IMS service
+        // Monitor IMS service - but first poll to see if already up (could miss
+        // intent)
+        ImsManager imsManager = ImsManager.getInstance(mContext, getPhoneId());
+        if (imsManager != null && imsManager.isServiceAvailable()) {
+            mImsServiceReady = true;
+            updateImsPhone();
+        }
         IntentFilter filter = new IntentFilter();
         filter.addAction(ImsManager.ACTION_IMS_SERVICE_UP);
         filter.addAction(ImsManager.ACTION_IMS_SERVICE_DOWN);