diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 9b44960d3e4c1..3d0639978e634 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -2048,6 +2048,9 @@ class RootWindowContainer extends WindowContainer task.mLastRecentsAnimationTransaction, task.mLastRecentsAnimationOverlay); task.clearLastRecentsAnimationTransaction(false /* forceRemoveOverlay */); + } else { + // Reset the original task surface + task.resetSurfaceControlTransforms(); } // The organized TaskFragment is becoming empty because this activity is reparented diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 6b3981a0c1cc6..f6fdcfecd0a7d 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5985,8 +5985,13 @@ class Task extends TaskFragment { mLastRecentsAnimationTransaction = null; mLastRecentsAnimationOverlay = null; // reset also the crop and transform introduced by mLastRecentsAnimationTransaction - getPendingTransaction().setMatrix(mSurfaceControl, Matrix.IDENTITY_MATRIX, new float[9]) + resetSurfaceControlTransforms(); + } + + void resetSurfaceControlTransforms() { + getSyncTransaction().setMatrix(mSurfaceControl, Matrix.IDENTITY_MATRIX, new float[9]) .setWindowCrop(mSurfaceControl, null) + .setShadowRadius(mSurfaceControl, 0) .setCornerRadius(mSurfaceControl, 0); }