Loading core/proto/android/server/windowmanagertransitiontrace.proto +2 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,8 @@ message Transition { State state = 5; int32 flags = 6; repeated ChangeInfo change = 7; uint64 start_transaction_id = 8; uint64 finish_transaction_id = 9; } message ChangeInfo { Loading services/core/java/com/android/server/wm/Transition.java +12 −2 Original line number Diff line number Diff line Loading @@ -305,6 +305,16 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe return mFlags; } @VisibleForTesting SurfaceControl.Transaction getStartTransaction() { return mStartTransaction; } @VisibleForTesting SurfaceControl.Transaction getFinishTransaction() { return mFinishTransaction; } /** Starts collecting phase. Once this starts, all relevant surface operations are sync. */ void startCollecting(long timeoutMs) { if (mState != STATE_PENDING) { Loading Loading @@ -771,6 +781,8 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe } mState = STATE_PLAYING; mStartTransaction = transaction; mFinishTransaction = mController.mAtm.mWindowManager.mTransactionFactory.get(); mController.moveToPlaying(this); if (dc.isKeyguardLocked()) { Loading Loading @@ -856,8 +868,6 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe if (controller != null && mTargets.contains(dc)) { controller.setupStartTransaction(transaction); } mStartTransaction = transaction; mFinishTransaction = mController.mAtm.mWindowManager.mTransactionFactory.get(); buildFinishTransaction(mFinishTransaction, info.getRootLeash()); if (mController.getTransitionPlayer() != null) { mController.dispatchLegacyAppTransitionStarting(info); Loading services/core/java/com/android/server/wm/TransitionTracer.java +9 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,10 @@ import static com.android.server.wm.shell.ChangeInfo.HAS_CHANGED; import static com.android.server.wm.shell.ChangeInfo.TRANSIT_MODE; import static com.android.server.wm.shell.ChangeInfo.WINDOW_IDENTIFIER; import static com.android.server.wm.shell.Transition.CHANGE; import static com.android.server.wm.shell.Transition.FINISH_TRANSACTION_ID; import static com.android.server.wm.shell.Transition.FLAGS; import static com.android.server.wm.shell.Transition.ID; import static com.android.server.wm.shell.Transition.START_TRANSACTION_ID; import static com.android.server.wm.shell.Transition.STATE; import static com.android.server.wm.shell.Transition.TIMESTAMP; import static com.android.server.wm.shell.Transition.TRANSITION_TYPE; Loading Loading @@ -82,6 +84,13 @@ public class TransitionTracer { outputStream.write(TRANSITION_TYPE, transition.mType); outputStream.write(STATE, transition.getState()); outputStream.write(FLAGS, transition.getFlags()); if (transition.getStartTransaction() != null) { outputStream.write(START_TRANSACTION_ID, transition.getStartTransaction().getId()); } if (transition.getFinishTransaction() != null) { outputStream.write(FINISH_TRANSACTION_ID, transition.getFinishTransaction().getId()); } for (int i = 0; i < transition.mChanges.size(); ++i) { final WindowContainer window = transition.mChanges.keyAt(i); Loading Loading
core/proto/android/server/windowmanagertransitiontrace.proto +2 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,8 @@ message Transition { State state = 5; int32 flags = 6; repeated ChangeInfo change = 7; uint64 start_transaction_id = 8; uint64 finish_transaction_id = 9; } message ChangeInfo { Loading
services/core/java/com/android/server/wm/Transition.java +12 −2 Original line number Diff line number Diff line Loading @@ -305,6 +305,16 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe return mFlags; } @VisibleForTesting SurfaceControl.Transaction getStartTransaction() { return mStartTransaction; } @VisibleForTesting SurfaceControl.Transaction getFinishTransaction() { return mFinishTransaction; } /** Starts collecting phase. Once this starts, all relevant surface operations are sync. */ void startCollecting(long timeoutMs) { if (mState != STATE_PENDING) { Loading Loading @@ -771,6 +781,8 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe } mState = STATE_PLAYING; mStartTransaction = transaction; mFinishTransaction = mController.mAtm.mWindowManager.mTransactionFactory.get(); mController.moveToPlaying(this); if (dc.isKeyguardLocked()) { Loading Loading @@ -856,8 +868,6 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe if (controller != null && mTargets.contains(dc)) { controller.setupStartTransaction(transaction); } mStartTransaction = transaction; mFinishTransaction = mController.mAtm.mWindowManager.mTransactionFactory.get(); buildFinishTransaction(mFinishTransaction, info.getRootLeash()); if (mController.getTransitionPlayer() != null) { mController.dispatchLegacyAppTransitionStarting(info); Loading
services/core/java/com/android/server/wm/TransitionTracer.java +9 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,10 @@ import static com.android.server.wm.shell.ChangeInfo.HAS_CHANGED; import static com.android.server.wm.shell.ChangeInfo.TRANSIT_MODE; import static com.android.server.wm.shell.ChangeInfo.WINDOW_IDENTIFIER; import static com.android.server.wm.shell.Transition.CHANGE; import static com.android.server.wm.shell.Transition.FINISH_TRANSACTION_ID; import static com.android.server.wm.shell.Transition.FLAGS; import static com.android.server.wm.shell.Transition.ID; import static com.android.server.wm.shell.Transition.START_TRANSACTION_ID; import static com.android.server.wm.shell.Transition.STATE; import static com.android.server.wm.shell.Transition.TIMESTAMP; import static com.android.server.wm.shell.Transition.TRANSITION_TYPE; Loading Loading @@ -82,6 +84,13 @@ public class TransitionTracer { outputStream.write(TRANSITION_TYPE, transition.mType); outputStream.write(STATE, transition.getState()); outputStream.write(FLAGS, transition.getFlags()); if (transition.getStartTransaction() != null) { outputStream.write(START_TRANSACTION_ID, transition.getStartTransaction().getId()); } if (transition.getFinishTransaction() != null) { outputStream.write(FINISH_TRANSACTION_ID, transition.getFinishTransaction().getId()); } for (int i = 0; i < transition.mChanges.size(); ++i) { final WindowContainer window = transition.mChanges.keyAt(i); Loading