From 7082688f2966563a05525639e8ea0109dac211e2 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Fri, 20 Dec 2019 08:31:21 -0800 Subject: DO NOT MERGE - Added system user packages blacklist / whitelist to dump() Test: adb shell dumpsys package | grep -i -A15 isSystemUserPackagesBlacklistSupported Bug: 145626101 Change-Id: I6523fd209673c3f80a00641dcbf15e54e3d50b4b (cherry picked from commit b4a35c25f3c1933232ded444974033b5c6e50ad2) --- .../android/server/pm/PackageManagerService.java | 35 ++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2e2d1df73b48..c4acff40484e 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2359,13 +2359,16 @@ public class PackageManagerService extends IPackageManager.Stub /* systemAppsOnly */ false, UserHandle.SYSTEM)); // Apply whitelist for split system user - ArraySet wlApps = SystemConfig.getInstance().getSystemUserWhitelistedApps(); - enableApps.addAll(wlApps); + ArraySet whitelistedSystemUserApps = SystemConfig.getInstance() + .getSystemUserWhitelistedApps(); + enableApps.addAll(whitelistedSystemUserApps); + Log.i(TAG, "Whitelisted packages: " + whitelistedSystemUserApps); } // Apply blacklist for split system user/headless system user - ArraySet blApps = SystemConfig.getInstance().getSystemUserBlacklistedApps(); - enableApps.removeAll(blApps); - Log.i(TAG, "Blacklisted packages: " + blApps); + ArraySet blacklistedSystemUserApps = SystemConfig.getInstance() + .getSystemUserBlacklistedApps(); + enableApps.removeAll(blacklistedSystemUserApps); + Log.i(TAG, "Blacklisted packages: " + blacklistedSystemUserApps); final int allAppsSize = allAps.size(); synchronized (mPackages) { @@ -22315,6 +22318,13 @@ public class PackageManagerService extends IPackageManager.Stub isSystemUserPackagesBlacklistSupported(); pw.println("isSystemUserPackagesBlacklistSupported: " + systemUserPackagesBlacklistSupported); + if (systemUserPackagesBlacklistSupported) { + SystemConfig sysconfig = SystemConfig.getInstance(); + dumpPackagesList(pw, " ", "whitelist", + sysconfig.getSystemUserWhitelistedApps()); + dumpPackagesList(pw, " ", "blacklist", + sysconfig.getSystemUserBlacklistedApps()); + } } if (dumpState.isDumping(DumpState.DUMP_SHARED_USERS)) { @@ -22424,6 +22434,21 @@ public class PackageManagerService extends IPackageManager.Stub } } + private void dumpPackagesList(PrintWriter pw, String prefix, String name, + ArraySet list) { + pw.print(prefix); pw.print(name); pw.print(": "); + int size = list.size(); + if (size == 0) { + pw.println("empty"); + return; + } + pw.print(size); pw.println(" packages"); + String prefix2 = prefix + " "; + for (int i = 0; i < size; i++) { + pw.print(prefix2); pw.println(list.valueAt(i)); + } + } + //TODO: b/111402650 private void disableSkuSpecificApps() { String apkList[] = mContext.getResources().getStringArray( -- cgit v1.2.3-59-g8ed1b