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

Commit 250472ba authored by Chris Li's avatar Chris Li
Browse files

Make sure surface crop is up-to-date when moving to front

Before, when a TaskFragment is resized when moving to front, its surface
may still be croped for the old bounds. Now, we make sure the surface
crop is updated when moving to front.

Bug: 207070762
Test: manually verify with resizing display in background
Change-Id: I2103a1d8db855624310bc3becd9ed502fb082a7f
parent 96e8a788
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -330,6 +330,15 @@ public class Transitions implements RemoteCallable<Transitions> {
            final SurfaceControl leash = change.getLeash();
            final int mode = info.getChanges().get(i).getMode();

            if (mode == TRANSIT_TO_FRONT
                    && ((change.getStartAbsBounds().height() != change.getEndAbsBounds().height()
                    || change.getStartAbsBounds().width() != change.getEndAbsBounds().width()))) {
                // When the window is moved to front with a different size, make sure the crop is
                // updated to prevent it from using the old crop.
                t.setWindowCrop(leash, change.getEndAbsBounds().width(),
                        change.getEndAbsBounds().height());
            }

            // Don't move anything that isn't independent within its parents
            if (!TransitionInfo.isIndependent(change, info)) {
                if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT || mode == TRANSIT_CHANGE) {