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

Commit 7082688f authored by Felipe Leme's avatar Felipe Leme Committed by Yan Zhu
Browse files

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)
parent 81ce02f5
Loading
Loading
Loading
Loading
+30 −5
Original line number Diff line number Diff line
@@ -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(