Merge "Frameworks/base: Use ArraySet more explicitly"

This commit is contained in:
Andreas Gampe
2015-03-05 22:29:56 +00:00
committed by Gerrit Code Review

View File

@@ -415,9 +415,9 @@ public class KeySetManagerService {
// Get the package's known keys and KeySets // Get the package's known keys and KeySets
ArraySet<Long> deletableKeySets = getOriginalKeySetsByPackageNameLPr(packageName); ArraySet<Long> deletableKeySets = getOriginalKeySetsByPackageNameLPr(packageName);
ArraySet<Long> deletableKeys = new ArraySet<Long>(); ArraySet<Long> deletableKeys = new ArraySet<Long>();
ArraySet<Long> knownKeys = null; final int origDksSize = deletableKeySets.size();
for (Long ks : deletableKeySets) { for (int i = 0; i < origDksSize; i++) {
knownKeys = mKeySetMapping.get(ks); ArraySet<Long> knownKeys = mKeySetMapping.get(deletableKeySets.valueAt(i));
if (knownKeys != null) { if (knownKeys != null) {
deletableKeys.addAll(knownKeys); deletableKeys.addAll(knownKeys);
} }
@@ -430,9 +430,9 @@ public class KeySetManagerService {
} }
ArraySet<Long> knownKeySets = getOriginalKeySetsByPackageNameLPr(pkgName); ArraySet<Long> knownKeySets = getOriginalKeySetsByPackageNameLPr(pkgName);
deletableKeySets.removeAll(knownKeySets); deletableKeySets.removeAll(knownKeySets);
knownKeys = new ArraySet<Long>(); final int kksSize = knownKeySets.size();
for (Long ks : knownKeySets) { for (int i = 0; i < kksSize; i++) {
knownKeys = mKeySetMapping.get(ks); ArraySet<Long> knownKeys = mKeySetMapping.get(knownKeySets.valueAt(i));
if (knownKeys != null) { if (knownKeys != null) {
deletableKeys.removeAll(knownKeys); deletableKeys.removeAll(knownKeys);
} }
@@ -441,18 +441,22 @@ public class KeySetManagerService {
// The remaining keys and KeySets are not relied on by any other // The remaining keys and KeySets are not relied on by any other
// application and so can be safely deleted. // 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); mKeySets.delete(ks);
mKeySetMapping.delete(ks); mKeySetMapping.delete(ks);
} }
for (Long keyId : deletableKeys) { final int dkSize = deletableKeys.size();
mPublicKeys.delete(keyId); for (int i = 0; i < dkSize; i++) {
mPublicKeys.delete(deletableKeys.valueAt(i));
} }
// Now remove the deleted KeySets from each package's signingKeySets // Now remove the deleted KeySets from each package's signingKeySets
for (String pkgName : mPackages.keySet()) { for (String pkgName : mPackages.keySet()) {
PackageSetting p = mPackages.get(pkgName); 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); p.keySetData.removeSigningKeySet(ks);
} }
} }