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:
@@ -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.
|
||||
|
Reference in New Issue
Block a user