summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pablo Gamito <pablogamito@google.com> 2023-04-12 12:58:50 +0000
committer Pablo Gamito <pablogamito@google.com> 2023-04-19 13:26:47 +0000
commit81dd9b0f7a8caa76ea2685649faa971ae64c92b5 (patch)
tree25db5d2b75e679ee6982a803c6824a61ca75f348
parent3c3f2c952925baa35a875155ab25f40e724beaf6 (diff)
Trace transition and changes flags
Bug: 277181336 Test: Trace and load in Winscope Change-Id: I41d2219d65326e64d0762fb284e34cefa47eb916
-rw-r--r--core/proto/android/server/windowmanagertransitiontrace.proto2
-rw-r--r--services/core/java/com/android/server/wm/TransitionTracer.java3
2 files changed, 5 insertions, 0 deletions
diff --git a/core/proto/android/server/windowmanagertransitiontrace.proto b/core/proto/android/server/windowmanagertransitiontrace.proto
index 25985ebc551a..c3cbc9102b27 100644
--- a/core/proto/android/server/windowmanagertransitiontrace.proto
+++ b/core/proto/android/server/windowmanagertransitiontrace.proto
@@ -55,12 +55,14 @@ message Transition {
optional int64 finish_time_ns = 6; // consider aborted if not provided
required int32 type = 7;
repeated Target targets = 8;
+ optional int32 flags = 9;
}
message Target {
required int32 mode = 1;
required int32 layer_id = 2;
optional int32 window_id = 3; // Not dumped in always on tracing
+ optional int32 flags = 4;
}
message TransitionState {
diff --git a/services/core/java/com/android/server/wm/TransitionTracer.java b/services/core/java/com/android/server/wm/TransitionTracer.java
index a4c931c17a66..6597d4c7f916 100644
--- a/services/core/java/com/android/server/wm/TransitionTracer.java
+++ b/services/core/java/com/android/server/wm/TransitionTracer.java
@@ -154,6 +154,7 @@ public class TransitionTracer {
}
outputStream.write(com.android.server.wm.shell.Transition.TYPE, transition.mType);
+ outputStream.write(com.android.server.wm.shell.Transition.FLAGS, transition.getFlags());
for (int i = 0; i < targets.size(); ++i) {
final long changeToken = outputStream
@@ -162,6 +163,7 @@ public class TransitionTracer {
final Transition.ChangeInfo target = targets.get(i);
final int mode = target.getTransitMode(target.mContainer);
+ final int flags = target.getChangeFlags(target.mContainer);
final int layerId;
if (target.mContainer.mSurfaceControl.isValid()) {
layerId = target.mContainer.mSurfaceControl.getLayerId();
@@ -170,6 +172,7 @@ public class TransitionTracer {
}
outputStream.write(com.android.server.wm.shell.Target.MODE, mode);
+ outputStream.write(com.android.server.wm.shell.Target.FLAGS, flags);
outputStream.write(com.android.server.wm.shell.Target.LAYER_ID, layerId);
if (mActiveTracingEnabled) {