Guarantee that Enhanced 4G LTE Mode setting is applied.

Possible race condition if IMS Manager not able to be instantiated.

Bug: 17186613
Change-Id: I376d3cb2c2950a0bd72ad804d51767415839ec6d
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index 89749ad..05c00fa 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -488,13 +488,14 @@
                         .obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE));
             }
         } else if (preference == mButton4glte) {
+            SwitchPreference ltePref = (SwitchPreference)preference;
+            ltePref.setChecked(!ltePref.isChecked());
+            setIMS(ltePref.isChecked());
+
             ImsManager imsMan = ImsManager.getInstance(getBaseContext(),
                     SubscriptionManager.getDefaultVoiceSubId());
-            SwitchPreference ltePref = (SwitchPreference)preference;
-
             if (imsMan != null) {
-                ltePref.setChecked(!ltePref.isChecked());
-                setIMS(ltePref.isChecked());
+
                 try {
                     imsMan.setAdvanced4GMode(ltePref.isChecked());
                 } catch (ImsException ie) {