diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java index 95a81d19a38..1236c482c64 100644 --- a/src/com/android/settings/PrivacySettings.java +++ b/src/com/android/settings/PrivacySettings.java @@ -113,11 +113,13 @@ public class PrivacySettings extends SettingsPreferenceFragment implements boolean result = false; if (preference == mBackup) { if (nextValue == false) { + // Don't change Switch status until user makes choice in dialog + // so return false here. showEraseBackupDialog(); } else { setBackupEnabled(true); + result = true; } - result = true; } else if (preference == mAutoRestore) { try { mBackupManager.setAutoRestore(nextValue); diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index f2a0bbb5d6d..d3a290b970e 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -592,6 +592,7 @@ public class SecuritySettings extends SettingsPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object value) { + boolean result = true; final String key = preference.getKey(); final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils(); if (KEY_LOCK_AFTER_TIMEOUT.equals(key)) { @@ -636,11 +637,13 @@ public class SecuritySettings extends SettingsPreferenceFragment if ((Boolean) value) { mToggleAppInstallation.setChecked(false); warnAppInstallation(); + // Don't change Switch status until user makes choice in dialog, so return false. + result = false; } else { setNonMarketAppsAllowed(false); } } - return true; + return result; } @Override