Merge "Reduce operations before dispatching transition ready" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3b1304d65c
@@ -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();
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user