summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/Transition.java12
-rw-r--r--services/core/java/com/android/server/wm/TransitionTracer.java6
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) {