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

Commit 9f23bdd3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert policy looping logic back to iterating over copy of PolicyKeys...

Merge "Revert policy looping logic back to iterating over copy of PolicyKeys instead of directly on the values." into main
parents f11e5255 d7f078c2
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -2081,7 +2081,9 @@ final class DevicePolicyEngine {
     */
    void removePoliciesForAdmins(@UserIdInt int userId, List<String> packageNames) {
        synchronized (mLock) {
            for (PolicyState<?> policyState : mGlobalPolicies.values()) {
            Set<PolicyKey> globalPolicies = new HashSet<>(mGlobalPolicies.keySet());
            for (PolicyKey policy : globalPolicies) {
                PolicyState<?> policyState = mGlobalPolicies.get(policy);
                for (EnforcingAdmin admin : policyState.getPoliciesSetByAdmins().keySet()) {
                    if (packageNames.contains(admin.getPackageName())
                            && admin.getUserId() == userId) {
@@ -2116,7 +2118,9 @@ final class DevicePolicyEngine {
    void removeLocalPoliciesForAdminsLocked(
            @UserIdInt int userId, Predicate<EnforcingAdmin> adminPredicate) {
        if (mLocalPolicies.containsKey(userId)) {
            for (PolicyState<?> policyState : mLocalPolicies.get(userId).values()) {
            Set<PolicyKey> localPolicies = new HashSet<>(mLocalPolicies.get(userId).keySet());
            for (PolicyKey policy : localPolicies) {
                PolicyState<?> policyState = mLocalPolicies.get(userId).get(policy);
                for (EnforcingAdmin admin : policyState.getPoliciesSetByAdmins().keySet()) {
                    if (adminPredicate.test(admin)) {
                        CompletableFuture<Integer> unused =