Allow dumping activity from all visible stacks.
Change-Id: I89ef198b8d629fb0f57c2866ce581942701910e6
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 82668e4..fc56b5c 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -3152,8 +3152,27 @@
pw.println(" mLockTaskModeTasks" + mLockTaskModeTasks);
}
- ArrayList<ActivityRecord> getDumpActivitiesLocked(String name) {
- return mFocusedStack.getDumpActivitiesLocked(name);
+ /**
+ * Dumps the activities matching the given {@param name} in the either the focused stack
+ * or all visible stacks if {@param dumpVisibleStacks} is true.
+ */
+ ArrayList<ActivityRecord> getDumpActivitiesLocked(String name, boolean dumpVisibleStacks) {
+ if (dumpVisibleStacks) {
+ ArrayList<ActivityRecord> activities = new ArrayList<>();
+ int numDisplays = mActivityDisplays.size();
+ for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) {
+ ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
+ for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
+ ActivityStack stack = stacks.get(stackNdx);
+ if (stack.getStackVisibilityLocked(null) == STACK_VISIBLE) {
+ activities.addAll(stack.getDumpActivitiesLocked(name));
+ }
+ }
+ }
+ return activities;
+ } else {
+ return mFocusedStack.getDumpActivitiesLocked(name);
+ }
}
static boolean printThisActivity(PrintWriter pw, ActivityRecord activity, String dumpPackage,