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)
This commit is contained in:
Felipe Leme
2019-12-20 08:31:21 -08:00
committed by Yan Zhu
parent 81ce02f510
commit 7082688f29

View File

@@ -2359,13 +2359,16 @@ public class PackageManagerService extends IPackageManager.Stub
/* systemAppsOnly */ false, UserHandle.SYSTEM));
// Apply whitelist for split system user
ArraySet<String> wlApps = SystemConfig.getInstance().getSystemUserWhitelistedApps();
enableApps.addAll(wlApps);
ArraySet<String> whitelistedSystemUserApps = SystemConfig.getInstance()
.getSystemUserWhitelistedApps();
enableApps.addAll(whitelistedSystemUserApps);
Log.i(TAG, "Whitelisted packages: " + whitelistedSystemUserApps);
}
// Apply blacklist for split system user/headless system user
ArraySet<String> blApps = SystemConfig.getInstance().getSystemUserBlacklistedApps();
enableApps.removeAll(blApps);
Log.i(TAG, "Blacklisted packages: " + blApps);
ArraySet<String> 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<String> 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(