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
This commit is contained in:
@@ -807,11 +807,13 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
case DialogInterface.BUTTON_POSITIVE:
|
case DialogInterface.BUTTON_POSITIVE:
|
||||||
checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
|
checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mToggleSwitch.setCheckedInternal(checked);
|
||||||
|
getArguments().putBoolean(EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
case DialogInterface.BUTTON_NEGATIVE:
|
case DialogInterface.BUTTON_NEGATIVE:
|
||||||
checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
|
checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mToggleSwitch.setCheckedInternal(checked);
|
||||||
|
getArguments().putBoolean(EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -827,6 +829,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
if (checked) {
|
if (checked) {
|
||||||
if (!TextUtils.isEmpty(mEnableWarningMessage)) {
|
if (!TextUtils.isEmpty(mEnableWarningMessage)) {
|
||||||
toggleSwitch.setCheckedInternal(false);
|
toggleSwitch.setCheckedInternal(false);
|
||||||
|
getArguments().putBoolean(EXTRA_CHECKED, false);
|
||||||
showDialog(DIALOG_ID_ENABLE_WARNING);
|
showDialog(DIALOG_ID_ENABLE_WARNING);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -834,6 +837,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
} else {
|
} else {
|
||||||
if (!TextUtils.isEmpty(mDisableWarningMessage)) {
|
if (!TextUtils.isEmpty(mDisableWarningMessage)) {
|
||||||
toggleSwitch.setCheckedInternal(true);
|
toggleSwitch.setCheckedInternal(true);
|
||||||
|
getArguments().putBoolean(EXTRA_CHECKED, true);
|
||||||
showDialog(DIALOG_ID_DISABLE_WARNING);
|
showDialog(DIALOG_ID_DISABLE_WARNING);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user