diff options
| author | 2022-11-08 02:50:36 +0000 | |
|---|---|---|
| committer | 2022-11-08 02:50:36 +0000 | |
| commit | c80457927b72fdfdda2696596f128b7429b536ff (patch) | |
| tree | ef8227e8ac97905ee40bb15186c7d3b5314f4852 | |
| parent | 27fdefde74ddc016082d1f89aae47ff5f4214080 (diff) | |
| parent | a194e3090836a2aeea97ea2d59ab82c988b705e4 (diff) | |
Merge "Sync surface position for legacy app transition animation" into tm-qpr-dev am: a194e30908
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20372005
Change-Id: Ie17c993c6bf816f0dd9c2dc168bb6233ae3d3a80
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/wm/TaskFragment.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowContainer.java | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 3bdc7ab470e3..ac1ebaf613aa 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -2336,6 +2336,11 @@ class TaskFragment extends WindowContainer<WindowContainer> { if (mTaskFragmentOrganizer != null && (mLastSurfaceSize.x != 0 || mLastSurfaceSize.y != 0)) { t.setWindowCrop(mSurfaceControl, 0, 0); + final SurfaceControl.Transaction syncTransaction = getSyncTransaction(); + if (t != syncTransaction) { + // Avoid restoring to old window crop if the sync transaction is applied later. + syncTransaction.setWindowCrop(mSurfaceControl, 0, 0); + } mLastSurfaceSize.set(0, 0); } } diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 65c497cded0c..fa1bc5454018 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -3271,9 +3271,10 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< void resetSurfacePositionForAnimationLeash(Transaction t) { t.setPosition(mSurfaceControl, 0, 0); - if (mSyncState != SYNC_STATE_NONE && t != mSyncTransaction) { + final SurfaceControl.Transaction syncTransaction = getSyncTransaction(); + if (t != syncTransaction) { // Avoid restoring to old position if the sync transaction is applied later. - mSyncTransaction.setPosition(mSurfaceControl, 0, 0); + syncTransaction.setPosition(mSurfaceControl, 0, 0); } mLastSurfacePosition.set(0, 0); } |