Merge "Skip call forwarding lookup for CDMA voicemail." into lmp-mr1-dev
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index a97f5d0..eae9bfc 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -708,6 +708,9 @@
}
}
+ /**
+ * TODO: Refactor to make it easier to understand what's done in the different stages.
+ */
private void saveVoiceMailAndForwardingNumber(
String key, VoicemailProviderSettings newSettings) {
if (DBG) log("saveVoiceMailAndForwardingNumber: " + newSettings.toString());
@@ -715,8 +718,9 @@
mNewVMNumber = (mNewVMNumber == null) ? "" : mNewVMNumber;
mNewFwdSettings = newSettings.getForwardingSettings();
- // No fwd settings on CDMA
- if (mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {
+ // 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");
mNewFwdSettings = VoicemailProviderSettings.NO_FORWARDING;
}
@@ -732,7 +736,9 @@
mVMChangeCompletedSuccessfully = false;
mFwdChangesRequireRollback = false;
mVMOrFwdSetError = 0;
- if (!key.equals(mPreviousVMProviderKey)) {
+
+ // Don't read call forwarding settings if CDMA. Call forwarding is not supported by CDMA.
+ if (!key.equals(mPreviousVMProviderKey) && !isCdma) {
mReadingSettingsForDefaultProvider =
mPreviousVMProviderKey.equals(VoicemailProviderListPreference.DEFAULT_KEY);
if (DBG) log("Reading current forwarding settings");
@@ -813,7 +819,7 @@
if (mReadingSettingsForDefaultProvider) {
VoicemailProviderSettingsUtil.save(mPhone.getContext(),
VoicemailProviderListPreference.DEFAULT_KEY,
- new VoicemailProviderSettings(this.mOldVmNumber, mForwardingReadResults));
+ new VoicemailProviderSettings(mOldVmNumber, mForwardingReadResults));
mReadingSettingsForDefaultProvider = false;
}
saveVoiceMailAndForwardingNumberStage2();
@@ -825,8 +831,7 @@
mExpectedChangeResultReasons = new HashSet<Integer>();
}
- // Called after we are done saving the previous forwarding settings if
- // we needed.
+ // Called after we are done saving the previous forwarding settings if we needed.
private void saveVoiceMailAndForwardingNumberStage2() {
mForwardingChangeResults = null;
mVoicemailChangeResult = null;