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

Commit 3ac82043 authored by Mariia Sandrikova's avatar Mariia Sandrikova
Browse files

Add dumpsys command to dump visible activities.

Fix: 243161255
Test: adb shell dumpsys activity visible
Change-Id: I10e29229d1fdc7a623141b68fdd7884bd00efb32
parent 0de70a41
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ import static com.android.server.wm.ActivityTaskManagerService.DUMP_RECENTS_CMD;
import static com.android.server.wm.ActivityTaskManagerService.DUMP_RECENTS_SHORT_CMD;
import static com.android.server.wm.ActivityTaskManagerService.DUMP_STARTER_CMD;
import static com.android.server.wm.ActivityTaskManagerService.DUMP_TOP_RESUMED_ACTIVITY;
import static com.android.server.wm.ActivityTaskManagerService.DUMP_VISIBLE_ACTIVITIES;
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_NONE;
import static com.android.server.wm.ActivityTaskManagerService.relaunchReasonToString;
@@ -9546,7 +9547,8 @@ public class ActivityManagerService extends IActivityManager.Stub
                    || DUMP_LASTANR_CMD.equals(cmd) || DUMP_LASTANR_TRACES_CMD.equals(cmd)
                    || DUMP_STARTER_CMD.equals(cmd) || DUMP_CONTAINERS_CMD.equals(cmd)
                    || DUMP_RECENTS_CMD.equals(cmd) || DUMP_RECENTS_SHORT_CMD.equals(cmd)
                    || DUMP_TOP_RESUMED_ACTIVITY.equals(cmd)) {
                    || DUMP_TOP_RESUMED_ACTIVITY.equals(cmd)
                    || DUMP_VISIBLE_ACTIVITIES.equals(cmd)) {
                mAtmInternal.dump(
                        cmd, fd, pw, args, opti, true /* dumpAll */, dumpClient, dumpPackage);
            } else if ("binder-proxies".equals(cmd)) {
+22 −0
Original line number Diff line number Diff line
@@ -331,6 +331,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
    public static final String DUMP_RECENTS_CMD = "recents";
    public static final String DUMP_RECENTS_SHORT_CMD = "r";
    public static final String DUMP_TOP_RESUMED_ACTIVITY = "top-resumed";
    public static final String DUMP_VISIBLE_ACTIVITIES = "visible";

    /** This activity is not being relaunched, or being relaunched for a non-resize reason. */
    public static final int RELAUNCH_REASON_NONE = 0;
@@ -4054,6 +4055,25 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        }
    }

    void dumpVisibleActivitiesLocked(PrintWriter pw) {
        pw.println("ACTIVITY MANAGER VISIBLE ACTIVITIES (dumpsys activity visible)");
        ArrayList<ActivityRecord> activities =
                mRootWindowContainer.getDumpActivities("all", /* dumpVisibleRootTasksOnly */ true,
                        /* dumpFocusedRootTaskOnly */ false, UserHandle.USER_ALL);
        boolean needSeparator = false;
        for (int i = activities.size() - 1; i >= 0; i--) {
            ActivityRecord activity = activities.get(i);
            if (!activity.isVisible()) {
                continue;
            }
            if (needSeparator) {
                pw.println();
            }
            activity.dump(pw, "", true);
            needSeparator = true;
        }
    }

    void dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
            int opti, boolean dumpAll, boolean dumpClient, String dumpPackage) {
        dumpActivitiesLocked(fd, pw, args, opti, dumpAll, dumpClient, dumpPackage,
@@ -6286,6 +6306,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                    }
                } else if (DUMP_TOP_RESUMED_ACTIVITY.equals(cmd)) {
                    dumpTopResumedActivityLocked(pw);
                } else if (DUMP_VISIBLE_ACTIVITIES.equals(cmd)) {
                    dumpVisibleActivitiesLocked(pw);
                }
            }
        }