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); "Calling onTransitionReady: %s", info);
mLogger.mSendTimeNs = SystemClock.elapsedRealtimeNanos(); mLogger.mSendTimeNs = SystemClock.elapsedRealtimeNanos();
mLogger.mInfo = info; mLogger.mInfo = info;
mController.mTransitionTracer.logSentTransition(this, mTargets, info);
mController.getTransitionPlayer().onTransitionReady( mController.getTransitionPlayer().onTransitionReady(
mToken, info, transaction, mFinishTransaction); mToken, info, transaction, mFinishTransaction);
if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) { if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {
@@ -1501,13 +1500,17 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
} }
postCleanupOnFailure(); postCleanupOnFailure();
} }
mController.mLoggerHandler.post(mLogger::logOnSend);
mOverrideOptions = null; mOverrideOptions = null;
reportStartReasonsToLogger(); reportStartReasonsToLogger();
// Since we created root-leash but no longer reference it from core, release it now // Since we created root-leash but no longer reference it from core, release it now
info.releaseAnimSurfaces(); 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(); info.mReadyMode = change.getMode();
change.setStartAbsBounds(info.mAbsoluteBounds); change.setStartAbsBounds(info.mAbsoluteBounds);
change.setFlags(info.getChangeFlags(target)); change.setFlags(info.getChangeFlags(target));
info.mReadyFlags = change.getFlags();
change.setDisplayId(info.mDisplayId, getDisplayId(target)); change.setDisplayId(info.mDisplayId, getDisplayId(target));
final Task task = target.asTask(); final Task task = target.asTask();
@@ -2628,6 +2632,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
@TransitionInfo.TransitionMode @TransitionInfo.TransitionMode
int mReadyMode; int mReadyMode;
/** The flags which is set when the transition is ready. */
@TransitionInfo.ChangeFlags
int mReadyFlags;
ChangeInfo(@NonNull WindowContainer origState) { ChangeInfo(@NonNull WindowContainer origState) {
mContainer = origState; mContainer = origState;
mVisible = origState.isVisibleRequested(); mVisible = origState.isVisibleRequested();

View File

@@ -144,8 +144,6 @@ public class TransitionTracer {
final Transition.ChangeInfo target = targets.get(i); final Transition.ChangeInfo target = targets.get(i);
final int mode = target.getTransitMode(target.mContainer);
final int flags = target.getChangeFlags(target.mContainer);
final int layerId; final int layerId;
if (target.mContainer.mSurfaceControl.isValid()) { if (target.mContainer.mSurfaceControl.isValid()) {
layerId = target.mContainer.mSurfaceControl.getLayerId(); layerId = target.mContainer.mSurfaceControl.getLayerId();
@@ -153,8 +151,8 @@ public class TransitionTracer {
layerId = -1; layerId = -1;
} }
outputStream.write(com.android.server.wm.shell.Target.MODE, mode); outputStream.write(com.android.server.wm.shell.Target.MODE, target.mReadyMode);
outputStream.write(com.android.server.wm.shell.Target.FLAGS, flags); outputStream.write(com.android.server.wm.shell.Target.FLAGS, target.mReadyFlags);
outputStream.write(com.android.server.wm.shell.Target.LAYER_ID, layerId); outputStream.write(com.android.server.wm.shell.Target.LAYER_ID, layerId);
if (mActiveTracingEnabled) { if (mActiveTracingEnabled) {