Adding flags to filter dumping of activities.

- To make it consistent with other dump calls, by default dumping
  'activity all' or 'activity <activity>' will now dump it if it exists
  even if it is not in a visible stack.  If -v is specified, only
  activities in visible stacks will be dumped, and if -f is specified
  then only activities in the focused stack will be dumped.

Bug: 35850518
Test: adb shell dumpsys activity <package> and ensure it runs in the background
Change-Id: Ib8284aedce8073e2a30023a7cd925c6c525817c8
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index ab1559d..d3ad057 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -3521,22 +3521,24 @@
      * 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> getDumpActivitiesLocked(String name, boolean dumpVisibleStacksOnly,
+            boolean dumpFocusedStackOnly) {
+        if (dumpFocusedStackOnly) {
+            return mFocusedStack.getDumpActivitiesLocked(name);
+        } else {
             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) {
+                    if (!dumpVisibleStacksOnly ||
+                            stack.getStackVisibilityLocked(null) == STACK_VISIBLE) {
                         activities.addAll(stack.getDumpActivitiesLocked(name));
                     }
                 }
             }
             return activities;
-        } else {
-            return mFocusedStack.getDumpActivitiesLocked(name);
         }
     }