From 17fd600fc6f69addcdb92faffb3c0c89be776430 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Wed, 8 Oct 2014 12:29:12 -0700 Subject: [PATCH] Update accessibility service toggle switch when resuming. An accessibility service can be enabled via a global gesture in which case if the settings activity for enabling the service is running its toggle switch is shown in the wrong state. bug:16558106 Change-Id: I2821b148475a7afae21e29148ef98db724c817f2 --- ...oggleAccessibilityServicePreferenceFragment.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index 2375061dc85..9fe224ee5cf 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -56,10 +56,7 @@ public class ToggleAccessibilityServicePreferenceFragment new SettingsContentObserver(new Handler()) { @Override public void onChange(boolean selfChange, Uri uri) { - String settingValue = Settings.Secure.getString(getContentResolver(), - Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); - final boolean enabled = settingValue.contains(mComponentName.flattenToString()); - mSwitchBar.setCheckedInternal(enabled); + updateSwitchBarToggleSwitch(); } }; @@ -70,6 +67,7 @@ public class ToggleAccessibilityServicePreferenceFragment @Override public void onResume() { mSettingsContentObserver.register(getContentResolver()); + updateSwitchBarToggleSwitch(); super.onResume(); } @@ -195,6 +193,13 @@ public class ToggleAccessibilityServicePreferenceFragment } } + private void updateSwitchBarToggleSwitch() { + String settingValue = Settings.Secure.getString(getContentResolver(), + Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); + final boolean checked = settingValue.contains(mComponentName.flattenToString()); + mSwitchBar.setCheckedInternal(checked); + } + private View createEnableDialogContentView(AccessibilityServiceInfo info) { LayoutInflater inflater = (LayoutInflater) getSystemService( Context.LAYOUT_INFLATER_SERVICE);