diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 33c0fe13af11f..91afa04555ab9 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3216,6 +3216,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); }