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

Commit c79816b0 authored by Gus Prevas's avatar Gus Prevas
Browse files

Fixes NotificationHeaderView layout.

The layout method in NotificationHeaderView was incorrectly adding the
margins, width, etc. of views laid out on the right side to the position
it was tracking for views being laid out on the left side.  This change
fixes that error.

Test: manual
Change-Id: I747b318c621e6cf518e0752020ca8909c36c2ed7
Fixes: 122036911
parent ab1ad60e
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -195,12 +195,10 @@ public class NotificationHeaderView extends ViewGroup {
            }
            int childHeight = child.getMeasuredHeight();
            MarginLayoutParams params = (MarginLayoutParams) child.getLayoutParams();
            left += params.getMarginStart();
            int right = left + child.getMeasuredWidth();
            int layoutLeft;
            int layoutRight;
            int top = (int) (getPaddingTop() + (ownHeight - childHeight) / 2.0f);
            int bottom = top + childHeight;
            int layoutLeft = left;
            int layoutRight = right;
            if ((child == mExpandButton && mShowExpandButtonAtEnd)
                    || child == mProfileBadge
                    || child == mAppOps) {
@@ -211,6 +209,12 @@ public class NotificationHeaderView extends ViewGroup {
                }
                layoutLeft = layoutRight - child.getMeasuredWidth();
                end = layoutLeft - params.getMarginStart();
            } else {
                left += params.getMarginStart();
                int right = left + child.getMeasuredWidth();
                layoutLeft = left;
                layoutRight = right;
                left = right + params.getMarginEnd();
            }
            if (getLayoutDirection() == LAYOUT_DIRECTION_RTL) {
                int ltrLeft = layoutLeft;
@@ -218,7 +222,6 @@ public class NotificationHeaderView extends ViewGroup {
                layoutRight = getWidth() - ltrLeft;
            }
            child.layout(layoutLeft, top, layoutRight, bottom);
            left = right + params.getMarginEnd();
        }
        updateTouchListener();
    }