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

Commit b9de4c47 authored by Alex Buynytskyy's avatar Alex Buynytskyy
Browse files

If specified INSTALL_ALL_USERS then install for all users.

Previously, it would treat this as an update, and only do it for the users who already have the app installed.

Bug: 203371588
Fixes: 203371588
Test: presubmit
Change-Id: I57723f3f4e22725e5bff04f3b581b62172f23811
parent d443f19b
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -2322,12 +2322,19 @@ final class InstallPackageHelper {
                    }
                }

                // It's implied that when a user requests installation, they want the app to be
                // installed and enabled. (This does not apply to USER_ALL, which here means only
                // install on users for which the app is already installed).
                if (userId != UserHandle.USER_ALL) {
                    // It's implied that when a user requests installation, they want the app to
                    // be installed and enabled.
                    ps.setInstalled(true, userId);
                    ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, installerPackageName);
                } else if (allUsers != null) {
                    // The caller explicitly specified INSTALL_ALL_USERS flag.
                    // Thus, updating the settings to install the app for all users.
                    for (int currentUserId : allUsers) {
                        ps.setInstalled(true, currentUserId);
                        ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId,
                                installerPackageName);
                    }
                }

                mPm.mSettings.addInstallerPackageNames(ps.getInstallSource());