Remove mReadingSettingsForDefaultProvider.

+ Remove mReadingSettingsForDefaultProvider as a class variable.
This was set by the value of mPreviousVMProviderKey. But,
mPreviousVMProviderKey shouldn't change in the middle of a save.
It is only set on initialization, preference tree click, and after
the VM/FWD set has been completed. None of these should happen
while reading call forwarding. Initialization has already taken
place. The dialog on l.697 should prevent a preference tree click,
and the VM/FWD set won't complete until we finish reading the
call forwarding information.

+ Misc style cleanups to make code easier to read.

Bug: 17019623
Change-Id: I3552e02a22e4dcd31a2db5a5609ebd107bb4a569
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index d6bb030..37c21f1 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -268,14 +268,6 @@
     }
 
     /**
-     * We have to pull current settings from the network for all kinds of
-     * voicemail providers so we can tell whether we have to update them,
-     * so use this bit to keep track of whether we're reading settings for the
-     * default provider and should therefore save them out when done.
-     */
-    private boolean mReadingSettingsForDefaultProvider = false;
-
-    /**
      * Used to indicate that the voicemail preference should be shown.
      */
     private boolean mShowVoicemailPreference = false;
@@ -663,10 +655,9 @@
         mNewVMNumber = (mNewVMNumber == null) ? "" : mNewVMNumber;
         mNewFwdSettings = newSettings.getForwardingSettings();
 
-        // No fwd settings on CDMA.
-        boolean isCdma = mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA;
-        if (isCdma) {
-            if (DBG) log("ignoring forwarding setting since this is CDMA phone");
+        // Call forwarding is not suppported on CDMA.
+        if (mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {
+            if (DBG) log("Ignoring forwarding setting since this is CDMA phone");
             mNewFwdSettings = VoicemailProviderSettings.NO_FORWARDING;
         }
 
@@ -682,14 +673,12 @@
         mFwdChangesRequireRollback = false;
         mVMOrFwdSetError = 0;
 
-        // Don't read call forwarding settings if CDMA. Call forwarding is not supported by CDMA.
-        if (isCdma || mNewFwdSettings == VoicemailProviderSettings.NO_FORWARDING) {
-            if (DBG) log("Not touching fwd #");
+        if (mNewFwdSettings == VoicemailProviderSettings.NO_FORWARDING
+                || key.equals(mPreviousVMProviderKey)) {
+            if (DBG) log("Set voicemail number. No changes to forwarding number.");
             setVoicemailNumberWithCarrier();
         } else {
-            mReadingSettingsForDefaultProvider =
-                    mPreviousVMProviderKey.equals(VoicemailProviderListPreference.DEFAULT_KEY);
-            if (DBG) log("Reading current forwarding settings");
+            if (DBG) log("Reading current forwarding settings.");
             int numSettingsReasons = VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS.length;
             mForwardingReadResults = new CallForwardInfo[numSettingsReasons];
             for (int i = 0; i < mForwardingReadResults.length; i++) {
@@ -700,7 +689,6 @@
             showDialogIfForeground(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
         }
 
-        // Refresh the MWI indicator if it is already showing.
         PhoneGlobals.getInstance().refreshMwiIndicator(mSubscriptionInfoHelper.getSubId());
     }
 
@@ -762,11 +750,10 @@
             if (DBG) Log.d(LOG_TAG, "Done receiving fwd info");
             dismissDialogSafely(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
 
-            if (mReadingSettingsForDefaultProvider) {
+            if (mPreviousVMProviderKey.equals(VoicemailProviderListPreference.DEFAULT_KEY)) {
                 VoicemailProviderSettingsUtil.save(mPhone.getContext(),
                         VoicemailProviderListPreference.DEFAULT_KEY,
                         new VoicemailProviderSettings(mOldVmNumber, mForwardingReadResults));
-                mReadingSettingsForDefaultProvider = false;
             }
             saveVoiceMailAndForwardingNumberStage2();
         }