WM: Adjust TaskSnapshot for cutout layout
Makes TaskSnapshot work even when the main window top-left
position is not the same as the stack's.
Bug: 65689439
Test: Enable cutout, open Gmail, open Recents, verify transition did not jump in the end, open Gmail from recents, verify transition did not jump in the end.
Change-Id: I48053f551ed1c118764aa30e0b6408db64d4a5f1
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
index 41915a3..57f754f 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
@@ -349,8 +349,9 @@
// Let's remove all system decorations except the status bar, but only if the task is at the
// very top of the screen.
+ final boolean isTop = mTaskBounds.top == 0 && mFrame.top == 0;
rect.inset((int) (insets.left * mSnapshot.getScale()),
- mTaskBounds.top != 0 ? (int) (insets.top * mSnapshot.getScale()) : 0,
+ isTop ? 0 : (int) (insets.top * mSnapshot.getScale()),
(int) (insets.right * mSnapshot.getScale()),
(int) (insets.bottom * mSnapshot.getScale()));
return rect;