diff options
| author | 2018-12-17 11:55:47 +0000 | |
|---|---|---|
| committer | 2018-12-17 11:55:47 +0000 | |
| commit | fd473a32ef6fc168ad4502bc7617f09ec434b07e (patch) | |
| tree | ff58df26f23894a48b254c4ec7e1c4dd527182f9 | |
| parent | 407396e3492cc97c4a25ef125a89efc55c910ef0 (diff) | |
| parent | 57eb705e9b0c3c6c9387d4414157f63eb47e1c1f (diff) | |
Merge "Fix iterator misuse"
| -rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index b3afacbf15ec..bd3dfe96a67e 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5968,9 +5968,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { // If set, remove exclusive scopes from all other delegates if (exclusiveScopes != null && !exclusiveScopes.isEmpty()) { - for (Map.Entry<String, List<String>> entry : policy.mDelegationMap.entrySet()) { - final String currentPackage = entry.getKey(); - final List<String> currentScopes = entry.getValue(); + for (int i = policy.mDelegationMap.size() - 1; i >= 0; --i) { + final String currentPackage = policy.mDelegationMap.keyAt(i); + final List<String> currentScopes = policy.mDelegationMap.valueAt(i); if (!currentPackage.equals(delegatePackage)) { // Iterate through all other delegates @@ -5978,7 +5978,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { // And if this delegate had some exclusive scopes which are now moved // to the new delegate, notify about its delegation changes. if (currentScopes.isEmpty()) { - policy.mDelegationMap.remove(currentPackage); + policy.mDelegationMap.removeAt(i); } sendDelegationChangedBroadcast(currentPackage, new ArrayList<>(currentScopes), userId); |