Dump start and end transaction ids
Bug: 230462538 Test: Check transaction ids are dumped in proto Change-Id: I8e16f26c7cf0c087629908418d50291c330dd2f7
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -95,7 +95,6 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/**
|
||||
@@ -304,6 +303,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) {
|
||||
@@ -757,6 +766,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()) {
|
||||
@@ -842,8 +853,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);
|
||||
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user