Loading services/core/java/com/android/server/pm/ComputerEngine.java +7 −1 Original line number Diff line number Diff line Loading @@ -4592,6 +4592,7 @@ public class ComputerEngine implements Computer { flags = updateFlagsForApplication(flags, userId); final boolean listUninstalled = (flags & MATCH_KNOWN_PACKAGES) != 0; final boolean listApex = (flags & MATCH_APEX) != 0; final boolean listArchivedOnly = !listUninstalled && (flags & MATCH_ARCHIVED_PACKAGES) != 0; enforceCrossUserPermission( callingUid, Loading @@ -4603,7 +4604,7 @@ public class ComputerEngine implements Computer { ArrayList<ApplicationInfo> list; final ArrayMap<String, ? extends PackageStateInternal> packageStates = getPackageStates(); if (listUninstalled) { if (listUninstalled || listArchivedOnly) { list = new ArrayList<>(packageStates.size()); for (PackageStateInternal ps : packageStates.values()) { ApplicationInfo ai; Loading @@ -4615,6 +4616,11 @@ public class ComputerEngine implements Computer { if (!listApex && ps.getPkg().isApex()) { continue; } PackageUserStateInternal userState = ps.getUserStateOrDefault(userId); if (listArchivedOnly && !userState.isInstalled() && userState.getArchiveState() == null) { continue; } if (filterSharedLibPackage(ps, callingUid, userId, flags)) { continue; } Loading Loading
services/core/java/com/android/server/pm/ComputerEngine.java +7 −1 Original line number Diff line number Diff line Loading @@ -4592,6 +4592,7 @@ public class ComputerEngine implements Computer { flags = updateFlagsForApplication(flags, userId); final boolean listUninstalled = (flags & MATCH_KNOWN_PACKAGES) != 0; final boolean listApex = (flags & MATCH_APEX) != 0; final boolean listArchivedOnly = !listUninstalled && (flags & MATCH_ARCHIVED_PACKAGES) != 0; enforceCrossUserPermission( callingUid, Loading @@ -4603,7 +4604,7 @@ public class ComputerEngine implements Computer { ArrayList<ApplicationInfo> list; final ArrayMap<String, ? extends PackageStateInternal> packageStates = getPackageStates(); if (listUninstalled) { if (listUninstalled || listArchivedOnly) { list = new ArrayList<>(packageStates.size()); for (PackageStateInternal ps : packageStates.values()) { ApplicationInfo ai; Loading @@ -4615,6 +4616,11 @@ public class ComputerEngine implements Computer { if (!listApex && ps.getPkg().isApex()) { continue; } PackageUserStateInternal userState = ps.getUserStateOrDefault(userId); if (listArchivedOnly && !userState.isInstalled() && userState.getArchiveState() == null) { continue; } if (filterSharedLibPackage(ps, callingUid, userId, flags)) { continue; } Loading