From d9edbe7a503459cc7304ffd8f24bfd17b4d30d38 Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Fri, 21 Jan 2022 12:05:27 +0100 Subject: [PATCH] Add API for writing WM trace to file Currently the API supports only starting or stopping the trace, and writes to file when the trace is stopped. However, in some scenarios we would like to maintain the trace active, and just dump the trace. Bug: 205138504 Test: all API, check if files are created under /data/misc/wmtrace Change-Id: Ia1d38ebcfd5a9d45e25bc7a29146aca54d4bdaf3 --- core/java/android/view/IWindowManager.aidl | 5 +++++ .../java/com/android/server/wm/WindowManagerService.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl index 2c766bd6fd0df..e2b8156de6cae 100644 --- a/core/java/android/view/IWindowManager.aidl +++ b/core/java/android/view/IWindowManager.aidl @@ -550,6 +550,11 @@ interface IWindowManager */ void stopWindowTrace(); + /** + * If window tracing is active, saves the window trace to file, otherwise does nothing + */ + void saveWindowTraceToFile(); + /** * Returns true if window trace is enabled. */ diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index e4216bfb6679e..79cf9106f97a8 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -5680,6 +5680,11 @@ public class WindowManagerService extends IWindowManager.Stub mWindowTracing.stopTrace(null /* printwriter */); } + @Override + public void saveWindowTraceToFile() { + mWindowTracing.saveForBugreport(null /* printwriter */); + } + @Override public boolean isWindowTraceEnabled() { return mWindowTracing.isEnabled();