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

Commit 2fbe033f authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Allow stacks to be placed outside of display

When dismissing the docked stack, we animate the divider to position
-12dp, so the full-screen stack is exactly full-screen when the dismiss
animation is done. Previously, this was prevented by window manager.
Allow it to fix the animation.

Change-Id: Iee4505023dc3f6907d56851965b156235f9f97f2
parent 053f2186
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -317,6 +317,18 @@ public class DividerView extends FrameLayout implements OnTouchListener,
                outRect.top = position + mDividerWindowWidth - 2 * mDividerInsets;
                break;
        }
        if (outRect.left > outRect.right) {
            outRect.left = outRect.right;
        }
        if (outRect.top > outRect.bottom) {
            outRect.top = outRect.bottom;
        }
        if (outRect.right < outRect.left) {
            outRect.right = outRect.left;
        }
        if (outRect.bottom < outRect.top) {
            outRect.bottom = outRect.top;
        }
    }

    public void resizeStack(int position) {
+0 −8
Original line number Diff line number Diff line
@@ -190,14 +190,6 @@ class Task implements DimLayer.DimLayerUser {
                bounds = mTmpRect;
                mFullscreen = true;
            } else {
                if ((mStack.mStackId != FREEFORM_WORKSPACE_STACK_ID
                        && mStack.mStackId != PINNED_STACK_ID) || bounds.isEmpty()) {
                    // ensure bounds are entirely within the display rect
                    if (!bounds.intersect(mTmpRect)) {
                        // Can't set bounds outside the containing display...Sorry!
                        return BOUNDS_CHANGE_NONE;
                    }
                }
                mFullscreen = mTmpRect.equals(bounds);
            }
        }
+0 −5
Original line number Diff line number Diff line
@@ -143,11 +143,6 @@ public class TaskStack implements DimLayer.DimLayerUser {
                bounds = mTmpRect;
                mFullscreen = true;
            } else {
                // ensure bounds are entirely within the display rect
                if (!bounds.intersect(mTmpRect)) {
                    // Can't set bounds outside the containing display.. Sorry!
                    return false;
                }
                mFullscreen = mTmpRect.equals(bounds);
            }
        }