Merge "[RESTRICT AUTOMERGE] Prevent installing apps in policy restricted work profile using ADB" into tm-dev

This commit is contained in:
Treehugger Robot
2023-05-05 18:10:56 +00:00
committed by Android (Google) Code Review

View File

@@ -2093,9 +2093,25 @@ final class InstallPackageHelper {
// The caller explicitly specified INSTALL_ALL_USERS flag. // The caller explicitly specified INSTALL_ALL_USERS flag.
// Thus, updating the settings to install the app for all users. // Thus, updating the settings to install the app for all users.
for (int currentUserId : allUsers) { for (int currentUserId : allUsers) {
// If the app is already installed for the currentUser,
// keep it as installed as we might be updating the app at this place.
// If not currently installed, check if the currentUser is restricted by
// DISALLOW_INSTALL_APPS or DISALLOW_DEBUGGING_FEATURES device policy.
// Install / update the app if the user isn't restricted. Skip otherwise.
final boolean installedForCurrentUser = ArrayUtils.contains(
installedForUsers, currentUserId);
final boolean restrictedByPolicy =
mPm.isUserRestricted(currentUserId,
UserManager.DISALLOW_INSTALL_APPS)
|| mPm.isUserRestricted(currentUserId,
UserManager.DISALLOW_DEBUGGING_FEATURES);
if (installedForCurrentUser || !restrictedByPolicy) {
ps.setInstalled(true, currentUserId); ps.setInstalled(true, currentUserId);
ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, currentUserId,
installerPackageName); installerPackageName);
} else {
ps.setInstalled(false, currentUserId);
}
} }
} }