am fce2148f: am 96cd9e7c: First accessibility device disabled if enableing a second one is canceled.

* commit 'fce2148f3c679ef12ee59a8dcf071e34cea100f5':
  First accessibility device disabled if enableing a second one is canceled.
This commit is contained in:
Svetoslav
2013-04-10 18:22:49 -07:00
committed by Android Git Automerger

View File

@@ -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<ComponentName> 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.