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

Commit 93f04f89 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Put dismiss end target at navigation bar" into nyc-dev

parents c5c89864 81ba11ec
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -460,6 +460,11 @@ public interface WindowManagerPolicy {

        /** Unregister a system listener for touch events */
        void unregisterPointerEventListener(PointerEventListener listener);

        /**
         * @return The content insets of the docked divider window.
         */
        int getDockedDividerInsetsLw();
    }

    public interface PointerEventListener {
+3 −3
Original line number Diff line number Diff line
@@ -136,8 +136,7 @@ public class DividerSnapAlgorithm {
                    / (mFirstSplitTarget.position - getStartInset());
        } else if (position > mLastSplitTarget.position) {
            return (float) (position - mLastSplitTarget.position)
                    / (mDismissEndTarget.position - getEndInset()
                            - mLastSplitTarget.position - mDividerSize);
                    / (mDismissEndTarget.position - mLastSplitTarget.position - mDividerSize);
        }
        return 0f;
    }
@@ -222,7 +221,8 @@ public class DividerSnapAlgorithm {
                addMiddleTarget(isHorizontalDivision);
                break;
        }
        mTargets.add(new SnapTarget(dividerMax, SnapTarget.FLAG_DISMISS_END, 0.35f));
        int navBarSize = isHorizontalDivision ? mInsets.bottom : mInsets.right;
        mTargets.add(new SnapTarget(dividerMax - navBarSize, SnapTarget.FLAG_DISMISS_END, 0.35f));
    }

    private void addFixedDivisionTargets(boolean isHorizontalDivision) {
+19 −5
Original line number Diff line number Diff line
@@ -2645,11 +2645,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                }
            }
        } else if (win.getAttrs().type == TYPE_DOCK_DIVIDER) {
            if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) {
                return R.anim.fade_in;
            } else if (transit == TRANSIT_EXIT) {
                return R.anim.fade_out;
            }
            return selectDockedDividerAnimationLw(win, transit);
        }

        if (transit == TRANSIT_PREVIEW_DONE) {
@@ -2669,6 +2665,24 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        return 0;
    }

    private int selectDockedDividerAnimationLw(WindowState win, int transit) {
        int insets = mWindowManagerFuncs.getDockedDividerInsetsLw();

        // If the divider is behind the navigation bar, don't animate.
        if (mNavigationBar != null
                && (win.getFrameLw().top + insets >= mNavigationBar.getFrameLw().top
                        || win.getFrameLw().left + insets >= mNavigationBar.getFrameLw().left)) {
            return 0;
        }
        if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) {
            return R.anim.fade_in;
        } else if (transit == TRANSIT_EXIT) {
            return R.anim.fade_out;
        } else {
            return 0;
        }
    }

    @Override
    public void selectRotationAnimationLw(int anim[]) {
        if (PRINT_ANIM) Slog.i(TAG, "selectRotationAnimation mTopFullscreen="
+4 −0
Original line number Diff line number Diff line
@@ -72,6 +72,10 @@ public class DockedStackDividerController implements DimLayerUser {
        return mDividerWindowWidth - 2 * mDividerInsets;
    }

    int getContentInsets() {
        return mDividerInsets;
    }

    void setResizing(boolean resizing) {
        mResizing = resizing;
    }
+5 −0
Original line number Diff line number Diff line
@@ -9619,6 +9619,11 @@ public class WindowManagerService extends IWindowManager.Stub
                && !appWindow.mTask.inFreeformWorkspace();
    }

    @Override
    public int getDockedDividerInsetsLw() {
        return getDefaultDisplayContentLocked().getDockedDividerController().getContentInsets();
    }

    void dumpPolicyLocked(PrintWriter pw, String[] args, boolean dumpAll) {
        pw.println("WINDOW MANAGER POLICY STATE (dumpsys window policy)");
        mPolicy.dump("    ", pw, args);