Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e51bca3 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Only apply crop to task and task fragment in end transition

If asTaskFragment() is null, the window container can be
DisplayContent, DisplayArea, WindowToken, ActivityRecord.
Because DisplayArea and WindowToken rely on DisplayContent,
while ActivityRecord relies on task, only the parent container
of activity needs the crop.

Otherwise such as WallpaperWindowToken may be cropped unexpectedly
if it has a rotation transform.

Fix: 261704203
Test: Enable shell transition.
      Launch landscape app and back to portrait home.
      Wallpaper should not be half black.
Change-Id: Id262090c64814370e3f215acdf670d7b4d6ee1e9
parent 64e177c0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -643,7 +643,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
                // No need to clip the display in case seeing the clipped content when during the
                // display rotation. No need to clip activities because they rely on clipping on
                // task layers.
                if (target.asDisplayContent() != null || target.asActivityRecord() != null) {
                if (target.asTaskFragment() == null) {
                    t.setCrop(targetLeash, null /* crop */);
                } else {
                    // Crop to the resolved override bounds.