Keep SwitchPreference status until user makes choice in confirmation dialog.

Bug: 17062433
Change-Id: I2c52be1921e1eefa3b2b2868cc526675c9215a41
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 95a81d1..1236c48 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -113,11 +113,13 @@
             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 f2a0bbb..d3a290b 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -592,6 +592,7 @@
 
     @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 @@
             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