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

Commit b918f1bf authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "Do not crop children to task bounds while resizing." into nyc-dev

parents ab4d5ffd 2487ce70
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2355,6 +2355,10 @@ final class WindowState implements WindowManagerPolicy.WindowState {
        return mDragResizing;
    }

    boolean isDockedResizing() {
        return mDragResizing && getResizeMode() == DRAG_RESIZE_MODE_DOCKED_DIVIDER;
    }

    void dump(PrintWriter pw, String prefix, boolean dumpAll) {
        final TaskStack stack = getStack();
        pw.print(prefix); pw.print("mDisplayId="); pw.print(getDisplayId());
+10 −2
Original line number Diff line number Diff line
@@ -1125,13 +1125,21 @@ class WindowStateAnimator {
        final int top = w.mYOffset + w.mFrame.top;

        // Initialize the decor rect to the entire frame.
        if (w.isDragResizing() && w.getResizeMode() == DRAG_RESIZE_MODE_DOCKED_DIVIDER) {
        if (w.isDockedResizing() ||
                (w.isChildWindow() && w.mAttachedWindow.isDockedResizing())) {

            // If we are resizing with the divider, the task bounds might be smaller than the
            // stack bounds. The system decor is used to clip to the task bounds, which we don't
            // want in this case in order to avoid holes.
            //
            // We take care to not shrink the width, for surfaces which are larger than
            // the display region. Of course this area will not eventually be visible
            // but if we truncate the width now, we will calculate incorrectly
            // when adjusting to the stack bounds.
            final DisplayInfo displayInfo = w.getDisplayContent().getDisplayInfo();
            mSystemDecorRect.set(0, 0, displayInfo.logicalWidth, displayInfo.logicalHeight);
            mSystemDecorRect.set(0, 0,
                    Math.max(width, displayInfo.logicalWidth),
                    Math.max(height, displayInfo.logicalHeight));
        } else {
            mSystemDecorRect.set(0, 0, width, height);
        }