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

Commit f3d0bf8b authored by BK Choi's avatar BK Choi Committed by Automerger Merge Worker
Browse files

Merge "Fix a bug in...

Merge "Fix a bug in UserSystemPackageInstaller#installWhitelistedSystemPackages" into tm-qpr-dev am: 654f1a6b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19244059



Change-Id: I17cbe43013779fccd4a94c351f62be7f703d4df1
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents d4b0b155 654f1a6b
Loading
Loading
Loading
Loading
+14 −31
Original line number Diff line number Diff line
@@ -219,38 +219,21 @@ class UserSystemPackageInstaller {

        // Install/uninstall system packages per user.
        for (int userId : mUm.getUserIds()) {
            final Set<String> userWhitelist = getInstallablePackagesForUserId(userId);
            final Set<String> userAllowlist = getInstallablePackagesForUserId(userId);

            // If null, run for all packages
            if (userWhitelist == null) {
            pmInt.forEachPackageState(packageState -> {
                if (packageState.getPkg() == null) {
                    return;
                }
                    final boolean install = !packageState.getTransientState()
                            .isHiddenUntilInstalled();
                boolean install = (userAllowlist == null
                                || userAllowlist.contains(packageState.getPackageName()))
                        && !packageState.getTransientState().isHiddenUntilInstalled();
                if (packageState.getUserStateOrDefault(userId).isInstalled() != install
                        && shouldChangeInstallationState(packageState, install, userId,
                        isFirstBoot, isConsideredUpgrade, preExistingPackages)) {
                    changesToCommit.add(userId, packageState.getPackageName(), install);
                }
            });
            } else {
                for (String packageName : userWhitelist) {
                    PackageStateInternal packageState = pmInt.getPackageStateInternal(packageName);
                    if (packageState.getPkg() == null) {
                        continue;
                    }

                    final boolean install = !packageState.getTransientState()
                            .isHiddenUntilInstalled();
                    if (packageState.getUserStateOrDefault(userId).isInstalled() != install
                            && shouldChangeInstallationState(packageState, install, userId,
                            isFirstBoot, isConsideredUpgrade, preExistingPackages)) {
                        changesToCommit.add(userId, packageState.getPackageName(), install);
                    }
                }
            }
        }

        pmInt.commitPackageStateMutation(null, packageStateMutator -> {