Loading services/core/java/com/android/server/pm/PackageManagerService.java +12 −5 Original line number Diff line number Diff line Loading @@ -344,6 +344,7 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; Loading Loading @@ -9732,7 +9733,8 @@ public class PackageManagerService extends IPackageManager.Stub } } private void addSharedLibraryLPr(ArraySet<String> usesLibraryFiles, SharedLibraryEntry file, private void addSharedLibraryLPr(Set<String> usesLibraryFiles, SharedLibraryEntry file, PackageParser.Package changingLib) { if (file.path != null) { usesLibraryFiles.add(file.path); Loading Loading @@ -9761,7 +9763,10 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { return; } ArraySet<String> usesLibraryFiles = null; // The collection used here must maintain the order of addition (so // that libraries are searched in the correct order) and must have no // duplicates. Set<String> usesLibraryFiles = null; if (pkg.usesLibraries != null) { usesLibraryFiles = addSharedLibrariesLPw(pkg.usesLibraries, null, null, pkg.packageName, changingLib, true, Loading @@ -9785,10 +9790,10 @@ public class PackageManagerService extends IPackageManager.Stub } } private ArraySet<String> addSharedLibrariesLPw(@NonNull List<String> requestedLibraries, private Set<String> addSharedLibrariesLPw(@NonNull List<String> requestedLibraries, @Nullable int[] requiredVersions, @Nullable String[][] requiredCertDigests, @NonNull String packageName, @Nullable PackageParser.Package changingLib, boolean required, int targetSdk, @Nullable ArraySet<String> outUsedLibraries) boolean required, int targetSdk, @Nullable Set<String> outUsedLibraries) throws PackageManagerException { final int libCount = requestedLibraries.size(); for (int i = 0; i < libCount; i++) { Loading Loading @@ -9854,7 +9859,9 @@ public class PackageManagerService extends IPackageManager.Stub } if (outUsedLibraries == null) { outUsedLibraries = new ArraySet<>(); // Use LinkedHashSet to preserve the order of files added to // usesLibraryFiles while eliminating duplicates. outUsedLibraries = new LinkedHashSet<>(); } addSharedLibraryLPr(outUsedLibraries, libEntry, changingLib); } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +12 −5 Original line number Diff line number Diff line Loading @@ -344,6 +344,7 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; Loading Loading @@ -9732,7 +9733,8 @@ public class PackageManagerService extends IPackageManager.Stub } } private void addSharedLibraryLPr(ArraySet<String> usesLibraryFiles, SharedLibraryEntry file, private void addSharedLibraryLPr(Set<String> usesLibraryFiles, SharedLibraryEntry file, PackageParser.Package changingLib) { if (file.path != null) { usesLibraryFiles.add(file.path); Loading Loading @@ -9761,7 +9763,10 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { return; } ArraySet<String> usesLibraryFiles = null; // The collection used here must maintain the order of addition (so // that libraries are searched in the correct order) and must have no // duplicates. Set<String> usesLibraryFiles = null; if (pkg.usesLibraries != null) { usesLibraryFiles = addSharedLibrariesLPw(pkg.usesLibraries, null, null, pkg.packageName, changingLib, true, Loading @@ -9785,10 +9790,10 @@ public class PackageManagerService extends IPackageManager.Stub } } private ArraySet<String> addSharedLibrariesLPw(@NonNull List<String> requestedLibraries, private Set<String> addSharedLibrariesLPw(@NonNull List<String> requestedLibraries, @Nullable int[] requiredVersions, @Nullable String[][] requiredCertDigests, @NonNull String packageName, @Nullable PackageParser.Package changingLib, boolean required, int targetSdk, @Nullable ArraySet<String> outUsedLibraries) boolean required, int targetSdk, @Nullable Set<String> outUsedLibraries) throws PackageManagerException { final int libCount = requestedLibraries.size(); for (int i = 0; i < libCount; i++) { Loading Loading @@ -9854,7 +9859,9 @@ public class PackageManagerService extends IPackageManager.Stub } if (outUsedLibraries == null) { outUsedLibraries = new ArraySet<>(); // Use LinkedHashSet to preserve the order of files added to // usesLibraryFiles while eliminating duplicates. outUsedLibraries = new LinkedHashSet<>(); } addSharedLibraryLPr(outUsedLibraries, libEntry, changingLib); }