Loading services/core/java/com/android/server/pm/KeySetManagerService.java +14 −10 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } } Loading Loading
services/core/java/com/android/server/pm/KeySetManagerService.java +14 −10 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } } Loading