diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/Transition.java | 12 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/TransitionTracer.java | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index bfd0d96a04ab..5e60e92150a9 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1473,7 +1473,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { "Calling onTransitionReady: %s", info); mLogger.mSendTimeNs = SystemClock.elapsedRealtimeNanos(); mLogger.mInfo = info; - mController.mTransitionTracer.logSentTransition(this, mTargets, info); mController.getTransitionPlayer().onTransitionReady( mToken, info, transaction, mFinishTransaction); if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) { @@ -1501,13 +1500,17 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { } postCleanupOnFailure(); } - mController.mLoggerHandler.post(mLogger::logOnSend); mOverrideOptions = null; reportStartReasonsToLogger(); // Since we created root-leash but no longer reference it from core, release it now info.releaseAnimSurfaces(); + + mController.mLoggerHandler.post(mLogger::logOnSend); + if (mLogger.mInfo != null) { + mController.mTransitionTracer.logSentTransition(this, mTargets, info); + } } /** @@ -2245,6 +2248,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { info.mReadyMode = change.getMode(); change.setStartAbsBounds(info.mAbsoluteBounds); change.setFlags(info.getChangeFlags(target)); + info.mReadyFlags = change.getFlags(); change.setDisplayId(info.mDisplayId, getDisplayId(target)); final Task task = target.asTask(); @@ -2628,6 +2632,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { @TransitionInfo.TransitionMode int mReadyMode; + /** The flags which is set when the transition is ready. */ + @TransitionInfo.ChangeFlags + int mReadyFlags; + ChangeInfo(@NonNull WindowContainer origState) { mContainer = origState; mVisible = origState.isVisibleRequested(); diff --git a/services/core/java/com/android/server/wm/TransitionTracer.java b/services/core/java/com/android/server/wm/TransitionTracer.java index afc14926f63c..a002fba0877e 100644 --- a/services/core/java/com/android/server/wm/TransitionTracer.java +++ b/services/core/java/com/android/server/wm/TransitionTracer.java @@ -144,8 +144,6 @@ 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(); @@ -153,8 +151,8 @@ public class TransitionTracer { layerId = -1; } - 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.MODE, target.mReadyMode); + outputStream.write(com.android.server.wm.shell.Target.FLAGS, target.mReadyFlags); outputStream.write(com.android.server.wm.shell.Target.LAYER_ID, layerId); if (mActiveTracingEnabled) { |