Loading services/core/java/com/android/server/pm/PackageManagerService.java +16 −8 Original line number Diff line number Diff line Loading @@ -8472,7 +8472,7 @@ public class PackageManagerService extends IPackageManager.Stub libInfo.getPackageName(), libInfo.getAllCodePaths(), libInfo.getName(), libInfo.getLongVersion(), libInfo.getType(), libInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr(libInfo, flags, userId), getPackagesUsingSharedLibraryLPr(libInfo, flags, callingUid, userId), (libInfo.getDependencies() == null ? null : new ArrayList<>(libInfo.getDependencies())), Loading Loading @@ -8544,8 +8544,10 @@ public class PackageManagerService extends IPackageManager.Stub libraryInfo.getPath(), libraryInfo.getPackageName(), libraryInfo.getAllCodePaths(), libraryInfo.getName(), libraryInfo.getLongVersion(), libraryInfo.getType(), libraryInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr( libraryInfo, flags, userId), libraryInfo.getDependencies() == null libraryInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr( libraryInfo, flags, callingUid, userId), libraryInfo.getDependencies() == null ? null : new ArrayList<>(libraryInfo.getDependencies()), libraryInfo.isNative()); Loading @@ -8562,7 +8564,7 @@ public class PackageManagerService extends IPackageManager.Stub @GuardedBy("mLock") private List<VersionedPackage> getPackagesUsingSharedLibraryLPr( SharedLibraryInfo libInfo, int flags, int userId) { SharedLibraryInfo libInfo, int flags, int callingUid, int userId) { List<VersionedPackage> versionedPackages = null; final int packageCount = mSettings.getPackagesLocked().size(); for (int i = 0; i < packageCount; i++) { Loading @@ -8585,6 +8587,9 @@ public class PackageManagerService extends IPackageManager.Stub if (ps.usesStaticLibrariesVersions[libIdx] != libInfo.getLongVersion()) { continue; } if (shouldFilterApplicationLocked(ps, callingUid, userId)) { continue; } if (versionedPackages == null) { versionedPackages = new ArrayList<>(); } Loading @@ -8597,6 +8602,9 @@ public class PackageManagerService extends IPackageManager.Stub } else if (ps.pkg != null) { if (ArrayUtils.contains(ps.pkg.getUsesLibraries(), libName) || ArrayUtils.contains(ps.pkg.getUsesOptionalLibraries(), libName)) { if (shouldFilterApplicationLocked(ps, callingUid, userId)) { continue; } if (versionedPackages == null) { versionedPackages = new ArrayList<>(); } Loading Loading @@ -14321,7 +14329,7 @@ public class PackageManagerService extends IPackageManager.Stub // Remove the shared library overlays from its dependent packages. for (int currentUserId : UserManagerService.getInstance().getUserIds()) { final List<VersionedPackage> dependents = getPackagesUsingSharedLibraryLPr( libraryInfo, 0, currentUserId); libraryInfo, 0, Process.SYSTEM_UID, currentUserId); if (dependents == null) { continue; } Loading Loading @@ -20684,7 +20692,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } List<VersionedPackage> libClientPackages = getPackagesUsingSharedLibraryLPr( libraryInfo, MATCH_KNOWN_PACKAGES, currUserId); libraryInfo, MATCH_KNOWN_PACKAGES, Process.SYSTEM_UID, currUserId); if (!ArrayUtils.isEmpty(libClientPackages)) { Slog.w(TAG, "Not removing package " + pkg.getManifestPackageName() + " hosting lib " + libraryInfo.getName() + " version " Loading Loading @@ -26795,7 +26803,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } final List<VersionedPackage> dependents = getPackagesUsingSharedLibraryLPr( info, 0, userId); info, 0, Process.SYSTEM_UID, userId); if (dependents == null) { continue; } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +16 −8 Original line number Diff line number Diff line Loading @@ -8472,7 +8472,7 @@ public class PackageManagerService extends IPackageManager.Stub libInfo.getPackageName(), libInfo.getAllCodePaths(), libInfo.getName(), libInfo.getLongVersion(), libInfo.getType(), libInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr(libInfo, flags, userId), getPackagesUsingSharedLibraryLPr(libInfo, flags, callingUid, userId), (libInfo.getDependencies() == null ? null : new ArrayList<>(libInfo.getDependencies())), Loading Loading @@ -8544,8 +8544,10 @@ public class PackageManagerService extends IPackageManager.Stub libraryInfo.getPath(), libraryInfo.getPackageName(), libraryInfo.getAllCodePaths(), libraryInfo.getName(), libraryInfo.getLongVersion(), libraryInfo.getType(), libraryInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr( libraryInfo, flags, userId), libraryInfo.getDependencies() == null libraryInfo.getDeclaringPackage(), getPackagesUsingSharedLibraryLPr( libraryInfo, flags, callingUid, userId), libraryInfo.getDependencies() == null ? null : new ArrayList<>(libraryInfo.getDependencies()), libraryInfo.isNative()); Loading @@ -8562,7 +8564,7 @@ public class PackageManagerService extends IPackageManager.Stub @GuardedBy("mLock") private List<VersionedPackage> getPackagesUsingSharedLibraryLPr( SharedLibraryInfo libInfo, int flags, int userId) { SharedLibraryInfo libInfo, int flags, int callingUid, int userId) { List<VersionedPackage> versionedPackages = null; final int packageCount = mSettings.getPackagesLocked().size(); for (int i = 0; i < packageCount; i++) { Loading @@ -8585,6 +8587,9 @@ public class PackageManagerService extends IPackageManager.Stub if (ps.usesStaticLibrariesVersions[libIdx] != libInfo.getLongVersion()) { continue; } if (shouldFilterApplicationLocked(ps, callingUid, userId)) { continue; } if (versionedPackages == null) { versionedPackages = new ArrayList<>(); } Loading @@ -8597,6 +8602,9 @@ public class PackageManagerService extends IPackageManager.Stub } else if (ps.pkg != null) { if (ArrayUtils.contains(ps.pkg.getUsesLibraries(), libName) || ArrayUtils.contains(ps.pkg.getUsesOptionalLibraries(), libName)) { if (shouldFilterApplicationLocked(ps, callingUid, userId)) { continue; } if (versionedPackages == null) { versionedPackages = new ArrayList<>(); } Loading Loading @@ -14321,7 +14329,7 @@ public class PackageManagerService extends IPackageManager.Stub // Remove the shared library overlays from its dependent packages. for (int currentUserId : UserManagerService.getInstance().getUserIds()) { final List<VersionedPackage> dependents = getPackagesUsingSharedLibraryLPr( libraryInfo, 0, currentUserId); libraryInfo, 0, Process.SYSTEM_UID, currentUserId); if (dependents == null) { continue; } Loading Loading @@ -20684,7 +20692,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } List<VersionedPackage> libClientPackages = getPackagesUsingSharedLibraryLPr( libraryInfo, MATCH_KNOWN_PACKAGES, currUserId); libraryInfo, MATCH_KNOWN_PACKAGES, Process.SYSTEM_UID, currUserId); if (!ArrayUtils.isEmpty(libClientPackages)) { Slog.w(TAG, "Not removing package " + pkg.getManifestPackageName() + " hosting lib " + libraryInfo.getName() + " version " Loading Loading @@ -26795,7 +26803,7 @@ public class PackageManagerService extends IPackageManager.Stub continue; } final List<VersionedPackage> dependents = getPackagesUsingSharedLibraryLPr( info, 0, userId); info, 0, Process.SYSTEM_UID, userId); if (dependents == null) { continue; }