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

Commit 7045aaa2 authored by John Spurlock's avatar John Spurlock
Browse files

Fix View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.

If a window's task stack has no sibling, restore old behavior
of allowing frame to go below the nav bar.

Bug:9884905
Change-Id: Ifc38901a6633cf431dba8740a65258d0618c0fd0
parent fe4fb365
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -87,6 +87,10 @@ public class TaskStack {
        return mStackId == HOME_STACK_ID;
    }

    boolean hasSibling() {
        return mStackBox.mParent != null;
    }

    /**
     * Put a Task in this stack. Used for adding and moving.
     * @param task The task to add.
+7 −3
Original line number Diff line number Diff line
@@ -461,8 +461,9 @@ final class WindowState implements WindowManagerPolicy.WindowState {
    public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf) {
        mHaveFrame = true;

        if (mAppToken != null) {
            mContainingFrame.set(getStackBounds());
        TaskStack stack = mAppToken != null ? getStack() : null;
        if (stack != null && stack.hasSibling()) {
            mContainingFrame.set(getStackBounds(stack));
            if (mUnderStatusBar) {
                mContainingFrame.top = pf.top;
            }
@@ -714,7 +715,10 @@ final class WindowState implements WindowManagerPolicy.WindowState {
    }

    Rect getStackBounds() {
        TaskStack stack = getStack();
        return getStackBounds(getStack());
    }

    private Rect getStackBounds(TaskStack stack) {
        if (stack != null) {
            return stack.mStackBox.mBounds;
        }