From 96cd9e7cc7d830756f42aa715e0062f938d4ae55 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Wed, 10 Apr 2013 17:33:37 -0700 Subject: [PATCH] First accessibility device disabled if enableing a second one is canceled. The value whether accessibility should stay enabled was incorrectly computed and as a result accessibility was disaabled when the second accessibility service enabling is canceled. bug:7716830 Change-Id: Ic23c24b1ffa90811e21210aeeca158568ad37904 --- src/com/android/settings/AccessibilitySettings.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java index 8b7a8c6b5f..ec0089239f 100644 --- a/src/com/android/settings/AccessibilitySettings.java +++ b/src/com/android/settings/AccessibilitySettings.java @@ -726,25 +726,22 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements // Determine enabled services and accessibility state. ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey); - final boolean accessibilityEnabled; + boolean accessibilityEnabled = false; if (enabled) { + enabledServices.add(toggledService); // Enabling at least one service enables accessibility. accessibilityEnabled = true; - enabledServices.add(toggledService); } else { + enabledServices.remove(toggledService); // Check how many enabled and installed services are present. - int enabledAndInstalledServiceCount = 0; Set installedServices = sInstalledServices; for (ComponentName enabledService : enabledServices) { if (installedServices.contains(enabledService)) { - enabledAndInstalledServiceCount++; + // Disabling the last service disables accessibility. + accessibilityEnabled = true; + break; } } - // Disabling the last service disables accessibility. - accessibilityEnabled = enabledAndInstalledServiceCount > 1 - || (enabledAndInstalledServiceCount == 1 - && !installedServices.contains(toggledService)); - enabledServices.remove(toggledService); } // Update the enabled services setting. -- 2.11.0