Loading services/core/java/com/android/server/pm/PackageManagerService.java +12 −5 Original line number Diff line number Diff line Loading @@ -325,6 +325,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 @@ -9846,7 +9847,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 @@ -9875,7 +9877,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, null); Loading @@ -9896,10 +9901,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, @Nullable ArraySet<String> outUsedLibraries) boolean required, @Nullable Set<String> outUsedLibraries) throws PackageManagerException { final int libCount = requestedLibraries.size(); for (int i = 0; i < libCount; i++) { Loading Loading @@ -9944,7 +9949,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 @@ -325,6 +325,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 @@ -9846,7 +9847,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 @@ -9875,7 +9877,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, null); Loading @@ -9896,10 +9901,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, @Nullable ArraySet<String> outUsedLibraries) boolean required, @Nullable Set<String> outUsedLibraries) throws PackageManagerException { final int libCount = requestedLibraries.size(); for (int i = 0; i < libCount; i++) { Loading Loading @@ -9944,7 +9949,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); }