diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 66cc216fd0e20..bc67c3e578075 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3212,6 +3212,10 @@ class WindowContainer extends ConfigurationContainer< void resetSurfacePositionForAnimationLeash(Transaction t) { t.setPosition(mSurfaceControl, 0, 0); + if (mSyncState != SYNC_STATE_NONE && t != mSyncTransaction) { + // Avoid restoring to old position if the sync transaction is applied later. + mSyncTransaction.setPosition(mSurfaceControl, 0, 0); + } mLastSurfacePosition.set(0, 0); }