Loading services/core/java/com/android/server/SystemConfig.java +10 −10 Original line number Diff line number Diff line Loading @@ -357,8 +357,8 @@ public class SystemConfig { private final ArrayList<String> mPreventUserDisablePackages = new ArrayList<>(); // Map of packagesNames to userTypes. Stored temporarily until cleared by UserManagerService(). private ArrayMap<String, Set<String>> mPackageToUserTypeWhitelist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeBlacklist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeAllowlist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeDenylist = new ArrayMap<>(); private final ArraySet<String> mRollbackWhitelistedPackages = new ArraySet<>(); private final ArraySet<String> mWhitelistedStagedInstallers = new ArraySet<>(); Loading Loading @@ -570,21 +570,21 @@ public class SystemConfig { * initially installed, and then removes this map from SystemConfig. * Called by UserManagerService when it is constructed. */ public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeWhitelist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeWhitelist; mPackageToUserTypeWhitelist = new ArrayMap<>(0); public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeAllowlist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeAllowlist; mPackageToUserTypeAllowlist = new ArrayMap<>(0); return r; } /** * Gets map of packagesNames to userTypes, dictating on which user types each package should NOT * be initially installed, even if they are whitelisted, and then removes this map from * be initially installed, even if they are allowlisted, and then removes this map from * SystemConfig. * Called by UserManagerService when it is constructed. */ public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeBlacklist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeBlacklist; mPackageToUserTypeBlacklist = new ArrayMap<>(0); public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeDenylist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeDenylist; mPackageToUserTypeDenylist = new ArrayMap<>(0); return r; } Loading Loading @@ -1512,7 +1512,7 @@ public class SystemConfig { case "install-in-user-type": { // NB: We allow any directory permission to declare install-in-user-type. readInstallInUserType(parser, mPackageToUserTypeWhitelist, mPackageToUserTypeBlacklist); mPackageToUserTypeAllowlist, mPackageToUserTypeDenylist); } break; case "named-actor": { String namespace = TextUtils.safeIntern( Loading services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1811,7 +1811,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService /** Install/uninstall system packages for all users based on their user-type, as applicable. */ private void installAllowlistedSystemPackages() { if (mUserManager.installWhitelistedSystemPackages(isFirstBoot(), isDeviceUpgrading(), if (mUserManager.installAllowlistedSystemPackages(isFirstBoot(), isDeviceUpgrading(), mExistingPackages)) { scheduleWritePackageRestrictions(USER_ALL); scheduleWriteSettings(); Loading services/core/java/com/android/server/pm/UserManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -6216,9 +6216,9 @@ public class UserManagerService extends IUserManager.Stub { } /** Install/uninstall system packages for all users based on their user-type, as applicable. */ boolean installWhitelistedSystemPackages(boolean isFirstBoot, boolean isUpgrade, boolean installAllowlistedSystemPackages(boolean isFirstBoot, boolean isUpgrade, @Nullable ArraySet<String> existingPackages) { return mSystemPackageInstaller.installWhitelistedSystemPackages( return mSystemPackageInstaller.installAllowlistedSystemPackages( isFirstBoot || mUpdatingSystemUserMode, isUpgrade, existingPackages); } Loading services/core/java/com/android/server/pm/UserManagerServiceShellCommand.java +2 −2 Original line number Diff line number Diff line Loading @@ -262,7 +262,7 @@ public class UserManagerServiceShellCommand extends ShellCommand { final PrintWriter pw = getOutPrintWriter(); boolean verbose = false; boolean criticalOnly = false; int mode = UserSystemPackageInstaller.USER_TYPE_PACKAGE_WHITELIST_MODE_NONE; int mode = UserSystemPackageInstaller.USER_TYPE_PACKAGE_ALLOWLIST_MODE_NONE; String opt; while ((opt = getNextOption()) != null) { switch (opt) { Loading @@ -287,7 +287,7 @@ public class UserManagerServiceShellCommand extends ShellCommand { + ", mode=" + UserSystemPackageInstaller.modeToString(mode)); try (IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ")) { mSystemPackageInstaller.dumpPackageWhitelistProblems(ipw, mode, verbose, mSystemPackageInstaller.dumpPackageAllowlistProblems(ipw, mode, verbose, criticalOnly); } return 0; Loading services/core/java/com/android/server/pm/UserSystemPackageInstaller.java +133 −133 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
services/core/java/com/android/server/SystemConfig.java +10 −10 Original line number Diff line number Diff line Loading @@ -357,8 +357,8 @@ public class SystemConfig { private final ArrayList<String> mPreventUserDisablePackages = new ArrayList<>(); // Map of packagesNames to userTypes. Stored temporarily until cleared by UserManagerService(). private ArrayMap<String, Set<String>> mPackageToUserTypeWhitelist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeBlacklist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeAllowlist = new ArrayMap<>(); private ArrayMap<String, Set<String>> mPackageToUserTypeDenylist = new ArrayMap<>(); private final ArraySet<String> mRollbackWhitelistedPackages = new ArraySet<>(); private final ArraySet<String> mWhitelistedStagedInstallers = new ArraySet<>(); Loading Loading @@ -570,21 +570,21 @@ public class SystemConfig { * initially installed, and then removes this map from SystemConfig. * Called by UserManagerService when it is constructed. */ public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeWhitelist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeWhitelist; mPackageToUserTypeWhitelist = new ArrayMap<>(0); public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeAllowlist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeAllowlist; mPackageToUserTypeAllowlist = new ArrayMap<>(0); return r; } /** * Gets map of packagesNames to userTypes, dictating on which user types each package should NOT * be initially installed, even if they are whitelisted, and then removes this map from * be initially installed, even if they are allowlisted, and then removes this map from * SystemConfig. * Called by UserManagerService when it is constructed. */ public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeBlacklist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeBlacklist; mPackageToUserTypeBlacklist = new ArrayMap<>(0); public ArrayMap<String, Set<String>> getAndClearPackageToUserTypeDenylist() { ArrayMap<String, Set<String>> r = mPackageToUserTypeDenylist; mPackageToUserTypeDenylist = new ArrayMap<>(0); return r; } Loading Loading @@ -1512,7 +1512,7 @@ public class SystemConfig { case "install-in-user-type": { // NB: We allow any directory permission to declare install-in-user-type. readInstallInUserType(parser, mPackageToUserTypeWhitelist, mPackageToUserTypeBlacklist); mPackageToUserTypeAllowlist, mPackageToUserTypeDenylist); } break; case "named-actor": { String namespace = TextUtils.safeIntern( Loading
services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1811,7 +1811,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService /** Install/uninstall system packages for all users based on their user-type, as applicable. */ private void installAllowlistedSystemPackages() { if (mUserManager.installWhitelistedSystemPackages(isFirstBoot(), isDeviceUpgrading(), if (mUserManager.installAllowlistedSystemPackages(isFirstBoot(), isDeviceUpgrading(), mExistingPackages)) { scheduleWritePackageRestrictions(USER_ALL); scheduleWriteSettings(); Loading
services/core/java/com/android/server/pm/UserManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -6216,9 +6216,9 @@ public class UserManagerService extends IUserManager.Stub { } /** Install/uninstall system packages for all users based on their user-type, as applicable. */ boolean installWhitelistedSystemPackages(boolean isFirstBoot, boolean isUpgrade, boolean installAllowlistedSystemPackages(boolean isFirstBoot, boolean isUpgrade, @Nullable ArraySet<String> existingPackages) { return mSystemPackageInstaller.installWhitelistedSystemPackages( return mSystemPackageInstaller.installAllowlistedSystemPackages( isFirstBoot || mUpdatingSystemUserMode, isUpgrade, existingPackages); } Loading
services/core/java/com/android/server/pm/UserManagerServiceShellCommand.java +2 −2 Original line number Diff line number Diff line Loading @@ -262,7 +262,7 @@ public class UserManagerServiceShellCommand extends ShellCommand { final PrintWriter pw = getOutPrintWriter(); boolean verbose = false; boolean criticalOnly = false; int mode = UserSystemPackageInstaller.USER_TYPE_PACKAGE_WHITELIST_MODE_NONE; int mode = UserSystemPackageInstaller.USER_TYPE_PACKAGE_ALLOWLIST_MODE_NONE; String opt; while ((opt = getNextOption()) != null) { switch (opt) { Loading @@ -287,7 +287,7 @@ public class UserManagerServiceShellCommand extends ShellCommand { + ", mode=" + UserSystemPackageInstaller.modeToString(mode)); try (IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ")) { mSystemPackageInstaller.dumpPackageWhitelistProblems(ipw, mode, verbose, mSystemPackageInstaller.dumpPackageAllowlistProblems(ipw, mode, verbose, criticalOnly); } return 0; Loading
services/core/java/com/android/server/pm/UserSystemPackageInstaller.java +133 −133 File changed.Preview size limit exceeded, changes collapsed. Show changes