From 96832f8cced282a1bca1bb7e4b1325cfa64f380d Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Tue, 18 Oct 2011 11:58:21 -0700 Subject: [PATCH] Accessibility service toggle setting state not preserved on screen rotation. The state of the toggle switch for enabling/disabling an accessibility service is not preserved on screen rotation after its state has been changed once. bug:5478062 Change-Id: Ie453f78bc07dcd39d88bb4acf260768eccc73a74 --- src/com/android/settings/AccessibilitySettings.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java index c9703dc4740..9aabe216507 100644 --- a/src/com/android/settings/AccessibilitySettings.java +++ b/src/com/android/settings/AccessibilitySettings.java @@ -807,11 +807,13 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements case DialogInterface.BUTTON_POSITIVE: checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING); mToggleSwitch.setCheckedInternal(checked); + getArguments().putBoolean(EXTRA_CHECKED, checked); onPreferenceToggled(mPreferenceKey, checked); break; case DialogInterface.BUTTON_NEGATIVE: checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING); mToggleSwitch.setCheckedInternal(checked); + getArguments().putBoolean(EXTRA_CHECKED, checked); onPreferenceToggled(mPreferenceKey, checked); break; default: @@ -827,6 +829,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements if (checked) { if (!TextUtils.isEmpty(mEnableWarningMessage)) { toggleSwitch.setCheckedInternal(false); + getArguments().putBoolean(EXTRA_CHECKED, false); showDialog(DIALOG_ID_ENABLE_WARNING); return true; } @@ -834,6 +837,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements } else { if (!TextUtils.isEmpty(mDisableWarningMessage)) { toggleSwitch.setCheckedInternal(true); + getArguments().putBoolean(EXTRA_CHECKED, true); showDialog(DIALOG_ID_DISABLE_WARNING); return true; }