Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34bc2ab9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Prevent race condition when iterating over bound services"

parents aa8be758 5b05f77a
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1362,14 +1362,13 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
    private int computeRelevantEventTypes(UserState userState, Client client) {
        int relevantEventTypes = 0;

        int numBoundServices = userState.mBoundServices.size();
        for (int i = 0; i < numBoundServices; i++) {
            AccessibilityServiceConnection service =
                    userState.mBoundServices.get(i);
        // Use iterator for thread-safety
        for (AccessibilityServiceConnection service : userState.mBoundServices) {
            relevantEventTypes |= isClientInPackageWhitelist(service.getServiceInfo(), client)
                    ? service.getRelevantEventTypes()
                    : 0;
        }

        relevantEventTypes |= isClientInPackageWhitelist(
                mUiAutomationManager.getServiceInfo(), client)
                ? mUiAutomationManager.getRelevantEventTypes()