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

Commit ccc335cf authored by Chong Zhang's avatar Chong Zhang
Browse files

Update stack bounds for fullscreen if rotated after updateDisplayInfo

Rotation could change again after updateDisplayInfo is called. We
need to set stack bounds even for fullscreen stacks in this case.
Otherwise the bounds will be incorrect until it's rotated again.

bug: 28611814
Change-Id: I31289524a9ceacaaaa66924e9bf6cbe88fd83f99
parent a63e1325
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -383,12 +383,6 @@ public class TaskStack implements DimLayer.DimLayerUser,
    }

    private boolean updateBoundsAfterConfigChange() {
        if (mFullscreen) {
            // Bounds will already be set correctly when display info is updated in the case of
            // fullscreen.
            return false;
        }

        final int newRotation = getDisplayInfo().rotation;
        final int newDensity = getDisplayInfo().logicalDensityDpi;

@@ -397,6 +391,13 @@ public class TaskStack implements DimLayer.DimLayerUser,
            return false;
        }

        if (mFullscreen) {
            // Update stack bounds again since rotation changed since updateDisplayInfo().
            setBounds(null);
            // Return false since we don't need the client to resize.
            return false;
        }

        final int oldDockSide = mStackId == DOCKED_STACK_ID ? getDockSide() : DOCKED_INVALID;
        mTmpRect2.set(mBounds);
        mDisplayContent.rotateBounds(mRotation, newRotation, mTmpRect2);