diff options
author | 2015-03-05 22:29:56 +0000 | |
---|---|---|
committer | 2015-03-05 22:33:43 +0000 | |
commit | 63ab6eb220a2a75837d6e3d18d19cbd5dda175eb (patch) | |
tree | b2b5cee8031e30ed4043b77b3b267afa3be34983 | |
parent | 6695b9920d15f8d9a17d6b0c66b863d1c2e38584 (diff) | |
parent | 0888276a1c6cd4077770844615848674de21dab3 (diff) |
Merge "Frameworks/base: Use ArraySet more explicitly"
-rw-r--r-- | services/core/java/com/android/server/pm/KeySetManagerService.java | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/pm/KeySetManagerService.java b/services/core/java/com/android/server/pm/KeySetManagerService.java index 4a8e31835dd8..1772856d0e6e 100644 --- a/services/core/java/com/android/server/pm/KeySetManagerService.java +++ b/services/core/java/com/android/server/pm/KeySetManagerService.java @@ -415,9 +415,9 @@ public class KeySetManagerService { // Get the package's known keys and KeySets ArraySet<Long> deletableKeySets = getOriginalKeySetsByPackageNameLPr(packageName); ArraySet<Long> deletableKeys = new ArraySet<Long>(); - ArraySet<Long> knownKeys = null; - for (Long ks : deletableKeySets) { - knownKeys = mKeySetMapping.get(ks); + final int origDksSize = deletableKeySets.size(); + for (int i = 0; i < origDksSize; i++) { + ArraySet<Long> knownKeys = mKeySetMapping.get(deletableKeySets.valueAt(i)); if (knownKeys != null) { deletableKeys.addAll(knownKeys); } @@ -430,9 +430,9 @@ public class KeySetManagerService { } ArraySet<Long> knownKeySets = getOriginalKeySetsByPackageNameLPr(pkgName); deletableKeySets.removeAll(knownKeySets); - knownKeys = new ArraySet<Long>(); - for (Long ks : knownKeySets) { - knownKeys = mKeySetMapping.get(ks); + final int kksSize = knownKeySets.size(); + for (int i = 0; i < kksSize; i++) { + ArraySet<Long> knownKeys = mKeySetMapping.get(knownKeySets.valueAt(i)); if (knownKeys != null) { deletableKeys.removeAll(knownKeys); } @@ -441,18 +441,22 @@ public class KeySetManagerService { // The remaining keys and KeySets are not relied on by any other // application and so can be safely deleted. - for (Long ks : deletableKeySets) { + final int dksSize = deletableKeySets.size(); + for (int i = 0; i < dksSize; i++) { + Long ks = deletableKeySets.valueAt(i); mKeySets.delete(ks); mKeySetMapping.delete(ks); } - for (Long keyId : deletableKeys) { - mPublicKeys.delete(keyId); + final int dkSize = deletableKeys.size(); + for (int i = 0; i < dkSize; i++) { + mPublicKeys.delete(deletableKeys.valueAt(i)); } // Now remove the deleted KeySets from each package's signingKeySets for (String pkgName : mPackages.keySet()) { PackageSetting p = mPackages.get(pkgName); - for (Long ks : deletableKeySets) { + for (int i = 0; i < dksSize; i++) { + Long ks = deletableKeySets.valueAt(i); p.keySetData.removeSigningKeySet(ks); } } |