Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de6f7c38 authored by Jakob Schneider's avatar Jakob Schneider Committed by Android (Google) Code Review
Browse files

Merge "Fix getInstalledApplications for archived apps." into main

parents c4919aaa 468fa756
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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,
@@ -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;
@@ -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;
                    }