summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/TaskFragment.java5
-rw-r--r--services/core/java/com/android/server/wm/WindowContainer.java5
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);
}