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

Commit 79c938e8 authored by Brian Isganitis's avatar Brian Isganitis
Browse files

Prevent arrow popup from going off screen bottom when below icon.

The current approach sometimes causes popups to go off the bottom of the screen, because we are not account for top insets and we are double counting extraVerticalSpace.

Test: Manual
Fix: 228326181
Change-Id: I148f9ff579e4406a0834195977e1cb7abf3707e5
parent ee80d691
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -602,6 +602,7 @@ public abstract class ArrowPopup<T extends Context & ActivityContext>
        mIsAboveIcon = y > dragLayer.getTop() + insets.top;
        if (!mIsAboveIcon) {
            y = mTempRect.top + iconHeight + extraVerticalSpace;
            height -= extraVerticalSpace;
        }

        // Insets are added later, so subtract them now.
@@ -609,7 +610,7 @@ public abstract class ArrowPopup<T extends Context & ActivityContext>
        y -= insets.top;

        mGravity = 0;
        if (y + height > dragLayer.getBottom() - insets.bottom) {
        if ((insets.top + y + height) > (dragLayer.getBottom() - insets.bottom)) {
            // The container is opening off the screen, so just center it in the drag layer instead.
            mGravity = Gravity.CENTER_VERTICAL;
            // Put the container next to the icon, preferring the right side in ltr (left in rtl).