Make a11y settings display consistent

We were using two methods to decide whether or not to show
that an a11y service was enabled, one on the main
Accessibility screen and another on the individual service
screen. In some situations, an enabled service would show
up as enabled on the main screen but not enabled on its
individual screen.

Bug: 30829589
Change-Id: I560d86684a2fb8987d3dd06279e033ecb7cc1a58
This commit is contained in:
Phil Weaver
2016-09-09 17:36:03 -07:00
parent ca9a78f2d1
commit 99a66b5416

View File

@@ -203,10 +203,8 @@ public class ToggleAccessibilityServicePreferenceFragment
}
private void updateSwitchBarToggleSwitch() {
final String settingValue = Settings.Secure.getString(getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
final boolean checked = settingValue != null
&& settingValue.contains(mComponentName.flattenToString());
final boolean checked = AccessibilityUtils.getEnabledServicesFromSettings(getActivity())
.contains(mComponentName);
mSwitchBar.setCheckedInternal(checked);
}