summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
author Daichi Hirono <hirono@google.com> 2025-03-21 10:28:16 +0900
committer Daichi Hirono <hirono@google.com> 2025-03-24 09:07:18 +0900
commitb7828728856bdf59608ebfc1c86e399d138d00d7 (patch)
treefbf6fa4bddc785c6c3d9bb5f453a87d5b8dd6c57 /libs
parent7e2ebfcd40833f1cd28a40e341bbd665676803c9 (diff)
Add dump for FocusTransitionObserver
Bug: 405229639 Flag: com.android.window.flags.enable_display_focus_in_shell_transitions Test: None Change-Id: I59436ecea041dfdae46fbe75db1dacd7613377c0
Diffstat (limited to 'libs')
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt1
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java19
2 files changed, 20 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 6214f329e0fd..9878831c7d6c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -3601,6 +3601,7 @@ class DesktopTasksController(
pw.println("${prefix}DesktopTasksController")
DesktopModeStatus.dump(pw, innerPrefix, context)
userRepositories.dump(pw, innerPrefix)
+ focusTransitionObserver.dump(pw, innerPrefix)
}
/** The interface for calls from outside the shell, within the host process. */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
index f0f1ad05008b..b91fb048dc09 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
@@ -31,6 +31,7 @@ import android.annotation.NonNull;
import android.app.ActivityManager.RunningTaskInfo;
import android.os.RemoteException;
import android.util.ArraySet;
+import android.util.IndentingPrintWriter;
import android.util.Slog;
import android.util.SparseArray;
import android.window.TransitionInfo;
@@ -38,6 +39,7 @@ import android.window.TransitionInfo;
import com.android.wm.shell.shared.FocusTransitionListener;
import com.android.wm.shell.shared.IFocusTransitionListener;
+import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -237,4 +239,21 @@ public class FocusTransitionObserver {
}
return task.displayId == mFocusedDisplayId && isFocusedOnDisplay(task);
}
+
+ /** Dumps focused display and tasks. */
+ public void dump(PrintWriter originalWriter, String prefix) {
+ final IndentingPrintWriter writer =
+ new IndentingPrintWriter(originalWriter, " ", prefix);
+ writer.println("FocusTransitionObserver:");
+ writer.increaseIndent();
+ writer.printf("currentFocusedDisplayId=%d\n", mFocusedDisplayId);
+ writer.println("currentFocusedTaskOnDisplay:");
+ writer.increaseIndent();
+ for (int i = 0; i < mFocusedTaskOnDisplay.size(); i++) {
+ writer.printf("Display #%d: taskId=%d topActivity=%s\n",
+ mFocusedTaskOnDisplay.keyAt(i),
+ mFocusedTaskOnDisplay.valueAt(i).taskId,
+ mFocusedTaskOnDisplay.valueAt(i).topActivity);
+ }
+ }
}