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

Commit c114c870 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Finish issue #143085640: Per-process network access control"

parents 826a1848 679925b4
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -11066,10 +11066,12 @@ public class ActivityManagerService extends IActivityManager.Stub
        }
        if (dumpAll || dumpPackage != null) {
            final SparseArray<ProcessRecord> pidToProcess = new SparseArray<>();
            synchronized (mPidsSelfLocked) {
                boolean printed = false;
                for (int i=0; i<mPidsSelfLocked.size(); i++) {
                    ProcessRecord r = mPidsSelfLocked.valueAt(i);
                    pidToProcess.put(r.pid, r);
                    if (dumpPackage != null && !r.pkgList.containsKey(dumpPackage)) {
                        continue;
                    }
@@ -11083,6 +11085,32 @@ public class ActivityManagerService extends IActivityManager.Stub
                        pw.print(": "); pw.println(mPidsSelfLocked.valueAt(i));
                }
            }
            synchronized (sActiveProcessInfoSelfLocked) {
                boolean printed = false;
                for (int i = 0; i < sActiveProcessInfoSelfLocked.size(); i++) {
                    ProcessInfo info = sActiveProcessInfoSelfLocked.valueAt(i);
                    ProcessRecord r = pidToProcess.get(sActiveProcessInfoSelfLocked.keyAt(i));
                    if (r != null && dumpPackage != null && !r.pkgList.containsKey(dumpPackage)) {
                        continue;
                    }
                    if (!printed) {
                        if (needSep) pw.println();
                        needSep = true;
                        pw.println("  Active process infos:");
                        printed = true;
                    }
                    pw.print("    Pinfo PID #"); pw.print(sActiveProcessInfoSelfLocked.keyAt(i));
                    pw.println(":");
                    pw.print("      name="); pw.println(info.name);
                    if (info.deniedPermissions != null) {
                        for (int j = 0; j < info.deniedPermissions.size(); j++) {
                            pw.print("      deny: ");
                            pw.println(info.deniedPermissions.valueAt(i));
                        }
                    }
                }
            }
        }
        if (mImportantProcesses.size() > 0) {
+9 −0
Original line number Diff line number Diff line
@@ -371,6 +371,15 @@ class ProcessRecord implements WindowProcessListener {
            }
        }
        pw.println("}");
        if (processInfo != null) {
            pw.print(prefix); pw.println("processInfo:");
            if (processInfo.deniedPermissions != null) {
                for (int i = 0; i < processInfo.deniedPermissions.size(); i++) {
                    pw.print(prefix); pw.print("  deny: ");
                    pw.println(processInfo.deniedPermissions.valueAt(i));
                }
            }
        }
        pw.print(prefix); pw.print("mRequiredAbi="); pw.print(mRequiredAbi);
                pw.print(" instructionSet="); pw.println(instructionSet);
        if (info.className != null) {