Loading services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +15 −11 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ import java.util.Map; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; /** * This class is instantiated by the system as a system level service and can be Loading Loading @@ -391,7 +392,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return; } // We will update when the automation service dies. AccessibilityUserState userState = getCurrentUserStateLocked(); final AccessibilityUserState userState = getCurrentUserStateLocked(); // We have to reload the installed services since some services may // have different attributes, resolve info (does not support equals), // etc. Remove them then to force reload. Loading Loading @@ -440,15 +441,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userId != mCurrentUserId) { return; } AccessibilityUserState userState = getUserStateLocked(userId); Iterator<ComponentName> it = userState.mEnabledServices.iterator(); final AccessibilityUserState userState = getUserStateLocked(userId); final Predicate<ComponentName> filter = component -> component != null && component.getPackageName().equals( packageName); userState.mBindingServices.removeIf(filter); userState.mCrashedServices.removeIf(filter); final Iterator<ComponentName> it = userState.mEnabledServices.iterator(); while (it.hasNext()) { ComponentName comp = it.next(); String compPkg = comp.getPackageName(); final ComponentName comp = it.next(); final String compPkg = comp.getPackageName(); if (compPkg.equals(packageName)) { it.remove(); userState.getBindingServicesLocked().remove(comp); userState.getCrashedServicesLocked().remove(comp); // Update the enabled services setting. persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Loading Loading @@ -476,11 +480,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userId != mCurrentUserId) { return false; } AccessibilityUserState userState = getUserStateLocked(userId); Iterator<ComponentName> it = userState.mEnabledServices.iterator(); final AccessibilityUserState userState = getUserStateLocked(userId); final Iterator<ComponentName> it = userState.mEnabledServices.iterator(); while (it.hasNext()) { ComponentName comp = it.next(); String compPkg = comp.getPackageName(); final ComponentName comp = it.next(); final String compPkg = comp.getPackageName(); for (String pkg : packages) { if (compPkg.equals(pkg)) { if (!doit) { Loading Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +15 −11 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ import java.util.Map; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; /** * This class is instantiated by the system as a system level service and can be Loading Loading @@ -391,7 +392,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return; } // We will update when the automation service dies. AccessibilityUserState userState = getCurrentUserStateLocked(); final AccessibilityUserState userState = getCurrentUserStateLocked(); // We have to reload the installed services since some services may // have different attributes, resolve info (does not support equals), // etc. Remove them then to force reload. Loading Loading @@ -440,15 +441,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userId != mCurrentUserId) { return; } AccessibilityUserState userState = getUserStateLocked(userId); Iterator<ComponentName> it = userState.mEnabledServices.iterator(); final AccessibilityUserState userState = getUserStateLocked(userId); final Predicate<ComponentName> filter = component -> component != null && component.getPackageName().equals( packageName); userState.mBindingServices.removeIf(filter); userState.mCrashedServices.removeIf(filter); final Iterator<ComponentName> it = userState.mEnabledServices.iterator(); while (it.hasNext()) { ComponentName comp = it.next(); String compPkg = comp.getPackageName(); final ComponentName comp = it.next(); final String compPkg = comp.getPackageName(); if (compPkg.equals(packageName)) { it.remove(); userState.getBindingServicesLocked().remove(comp); userState.getCrashedServicesLocked().remove(comp); // Update the enabled services setting. persistComponentNamesToSettingLocked( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, Loading Loading @@ -476,11 +480,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userId != mCurrentUserId) { return false; } AccessibilityUserState userState = getUserStateLocked(userId); Iterator<ComponentName> it = userState.mEnabledServices.iterator(); final AccessibilityUserState userState = getUserStateLocked(userId); final Iterator<ComponentName> it = userState.mEnabledServices.iterator(); while (it.hasNext()) { ComponentName comp = it.next(); String compPkg = comp.getPackageName(); final ComponentName comp = it.next(); final String compPkg = comp.getPackageName(); for (String pkg : packages) { if (compPkg.equals(pkg)) { if (!doit) { Loading