diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 6a2c2f5953f58..326c450f4d5c4 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 61ed6d3d8d8f3..b7398786fbc37 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5975,8 +5975,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); }