From 4605005374c80fa2ef71c8dbf5c7a3a1ca7ace0c Mon Sep 17 00:00:00 2001 From: jasonwshsu Date: Wed, 15 Jan 2020 20:21:11 +0800 Subject: [PATCH] Accessibility shortcut secondary action - correct invisible type fragment checkbox logic - checkbox logic need to follow shortcutPreference checked status Bug: 142530063 Test: manual Change-Id: Ibc079f116c16b6e1c32b573de693b4a23388858c --- ...ibleToggleAccessibilityServicePreferenceFragment.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java index afcd4c66194..a48b71f15fa 100644 --- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java @@ -45,13 +45,16 @@ public class InvisibleToggleAccessibilityServicePreferenceFragment extends /** * {@inheritDoc} * - * Enables accessibility service only when user had allowed permission. + * Enables accessibility service only when user had allowed permission. Disables + * accessibility service when shortcutPreference is unchecked. */ @Override public void onCheckboxClicked(ShortcutPreference preference) { super.onCheckboxClicked(preference); - AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, - getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED)); + boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED) + && preference.getChecked(); + + AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled); } /**