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

Commit 8d2b92f1 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by android-build-merger
Browse files

Merge "Put dismiss end target at navigation bar" into nyc-dev am: 93f04f89

am: 8629333b

* commit '8629333b':
  Put dismiss end target at navigation bar
parents b46e6b99 8629333b
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);