Merge "Reduce operations before dispatching transition ready" into udc-dev

This commit is contained in:
TreeHugger Robot
2023-05-11 07:00:01 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 6 deletions

View File

@@ -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();

View File

@@ -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) {