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

Commit 51a8af68 authored by Abodunrinwa Toki's avatar Abodunrinwa Toki
Browse files

Ensure FloatingToolbar is not rendered at negative x, y coordinates.

Bug: 28343540
Change-Id: I550a1a2389a6f90525498962709f0c82e8e310ab
parent 9a5f9c20
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -592,9 +592,11 @@ public final class FloatingToolbar {
        private void refreshCoordinatesAndOverflowDirection(Rect contentRectOnScreen) {
            refreshViewPort();

            int x = contentRectOnScreen.centerX() - mPopupWindow.getWidth() / 2;
            // Update x so that the toolbar isn't rendered behind the nav bar in landscape.
            x = Math.max(0, Math.min(x, mViewPortOnScreen.right - mPopupWindow.getWidth()));
            // Initialize x ensuring that the toolbar isn't rendered behind the nav bar in
            // landscape.
            final int x = Math.min(
                    contentRectOnScreen.centerX() - mPopupWindow.getWidth() / 2,
                    mViewPortOnScreen.right - mPopupWindow.getWidth());

            final int y;

@@ -684,7 +686,8 @@ public final class FloatingToolbar {
            int rootViewTopOnWindow = mTmpCoords[1];
            int windowLeftOnScreen = rootViewLeftOnScreen - rootViewLeftOnWindow;
            int windowTopOnScreen = rootViewTopOnScreen - rootViewTopOnWindow;
            mCoordsOnWindow.set(x - windowLeftOnScreen, y - windowTopOnScreen);
            mCoordsOnWindow.set(
                    Math.max(0, x - windowLeftOnScreen), Math.max(0, y - windowTopOnScreen));
        }

        /**