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

Commit ecc20aaf authored by Andreas Gampe's avatar Andreas Gampe Committed by Android Git Automerger
Browse files

am 63ab6eb2: Merge "Frameworks/base: Use ArraySet more explicitly"

* commit '63ab6eb2':
  Frameworks/base: Use ArraySet more explicitly
parents 9c0ba24f 63ab6eb2
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -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);
            }
        }