am 96cd9e7c
: First accessibility device disabled if enableing a second one is canceled.
* commit '96cd9e7cc7d830756f42aa715e0062f938d4ae55': 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.
|
// Determine enabled services and accessibility state.
|
||||||
ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey);
|
ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey);
|
||||||
final boolean accessibilityEnabled;
|
boolean accessibilityEnabled = false;
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
|
enabledServices.add(toggledService);
|
||||||
// Enabling at least one service enables accessibility.
|
// Enabling at least one service enables accessibility.
|
||||||
accessibilityEnabled = true;
|
accessibilityEnabled = true;
|
||||||
enabledServices.add(toggledService);
|
|
||||||
} else {
|
} else {
|
||||||
|
enabledServices.remove(toggledService);
|
||||||
// Check how many enabled and installed services are present.
|
// Check how many enabled and installed services are present.
|
||||||
int enabledAndInstalledServiceCount = 0;
|
|
||||||
Set<ComponentName> installedServices = sInstalledServices;
|
Set<ComponentName> installedServices = sInstalledServices;
|
||||||
for (ComponentName enabledService : enabledServices) {
|
for (ComponentName enabledService : enabledServices) {
|
||||||
if (installedServices.contains(enabledService)) {
|
if (installedServices.contains(enabledService)) {
|
||||||
enabledAndInstalledServiceCount++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Disabling the last service disables accessibility.
|
// Disabling the last service disables accessibility.
|
||||||
accessibilityEnabled = enabledAndInstalledServiceCount > 1
|
accessibilityEnabled = true;
|
||||||
|| (enabledAndInstalledServiceCount == 1
|
break;
|
||||||
&& !installedServices.contains(toggledService));
|
}
|
||||||
enabledServices.remove(toggledService);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the enabled services setting.
|
// Update the enabled services setting.
|
||||||
|
Reference in New Issue
Block a user