From 1f1c36282c4ecc43c08133b12aeded3be515a2f3 Mon Sep 17 00:00:00 2001 From: Pablo Gamito Date: Wed, 15 Mar 2023 12:23:46 +0000 Subject: Write start FINISHED_TRANSITIONS token when dumping aborted transition Otherwise we fail to write the transitions trace because we have a mismatch of opening and closing tags. Bug: 270949117 Test: atest FlickerTests Change-Id: Iacd5acf6171d536d51ac468acfbb4da980f47b8f --- services/core/java/com/android/server/wm/TransitionTracer.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/wm/TransitionTracer.java b/services/core/java/com/android/server/wm/TransitionTracer.java index b1a8a9508e83..57c0d65b28ea 100644 --- a/services/core/java/com/android/server/wm/TransitionTracer.java +++ b/services/core/java/com/android/server/wm/TransitionTracer.java @@ -91,6 +91,13 @@ public class TransitionTracer { * @param transition The transition that has finished. */ public void logFinishedTransition(Transition transition) { + if (transition.mLogger.mProtoToken == 0) { + // Transition finished but never sent, so open token never added + final ProtoOutputStream outputStream = transition.mLogger.mProtoOutputStream; + transition.mLogger.mProtoToken = outputStream + .start(com.android.server.wm.shell.TransitionTraceProto.FINISHED_TRANSITIONS); + } + // Dump the rest of the transition's info that wasn't dumped during logSentTransition dumpFinishedTransitionToProto(transition.mLogger.mProtoOutputStream, transition); transition.mLogger.mProtoOutputStream.end(transition.mLogger.mProtoToken); -- cgit v1.2.3-59-g8ed1b