Fix bug #15897505 Talk back state shows "off" while the talk back is still enabled.
- we were missing the update of the TextView from the SwitchBar so provide a new setCheckedInternal() method that is doing the TextView and Switch update at the same time Change-Id: I6dd9c472a386bb534a58fbf5cf82d9d01fa74f6c
This commit is contained in:
@@ -58,7 +58,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
String settingValue = Settings.Secure.getString(getContentResolver(),
|
||||
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
|
||||
final boolean enabled = settingValue.contains(mComponentName.flattenToString());
|
||||
mToggleSwitch.setCheckedInternal(enabled);
|
||||
mSwitchBar.setCheckedInternal(enabled);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -263,13 +263,13 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
switch (which) {
|
||||
case DialogInterface.BUTTON_POSITIVE:
|
||||
checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
|
||||
mToggleSwitch.setCheckedInternal(checked);
|
||||
mSwitchBar.setCheckedInternal(checked);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
break;
|
||||
case DialogInterface.BUTTON_NEGATIVE:
|
||||
checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
|
||||
mToggleSwitch.setCheckedInternal(checked);
|
||||
mSwitchBar.setCheckedInternal(checked);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
break;
|
||||
@@ -285,11 +285,11 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
@Override
|
||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||
if (checked) {
|
||||
toggleSwitch.setCheckedInternal(false);
|
||||
mSwitchBar.setCheckedInternal(false);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
|
||||
showDialog(DIALOG_ID_ENABLE_WARNING);
|
||||
} else {
|
||||
toggleSwitch.setCheckedInternal(true);
|
||||
mSwitchBar.setCheckedInternal(true);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
|
||||
showDialog(DIALOG_ID_DISABLE_WARNING);
|
||||
}
|
||||
|
Reference in New Issue
Block a user