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

Commit 39892608 authored by Lyn Han's avatar Lyn Han
Browse files

Fix off-center bubble pointer

Bubble position is calculated w.r.t left screen edge.
Pointer position is set w.r.t right end of expanded view left padding.
Add missing correction for expanded view left padding.

Fixes: 158621663
Test: pointer points to bubble center
Change-Id: I94d320b0b599865378d8297d50f555d5edd07203
parent 67cb3a61
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -120,6 +120,8 @@ public class BubbleExpandedView extends LinearLayout {
    private int mPointerWidth;
    private int mPointerHeight;
    private ShapeDrawable mPointerDrawable;
    private int mExpandedViewPadding;


    @Nullable private Bubble mBubble;

@@ -345,11 +347,9 @@ public class BubbleExpandedView extends LinearLayout {
            return view.onApplyWindowInsets(insets);
        });

        final int expandedViewPadding =
                res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding);

        setPadding(
                expandedViewPadding, expandedViewPadding, expandedViewPadding, expandedViewPadding);
        mExpandedViewPadding = res.getDimensionPixelSize(R.dimen.bubble_expanded_view_padding);
        setPadding(mExpandedViewPadding, mExpandedViewPadding, mExpandedViewPadding,
                mExpandedViewPadding);
        setOnTouchListener((view, motionEvent) -> {
            if (!usingActivityView()) {
                return false;
@@ -729,7 +729,7 @@ public class BubbleExpandedView extends LinearLayout {
     */
    public void setPointerPosition(float x) {
        float halfPointerWidth = mPointerWidth / 2f;
        float pointerLeft = x - halfPointerWidth;
        float pointerLeft = x - halfPointerWidth - mExpandedViewPadding;
        mPointerView.setTranslationX(pointerLeft);
        mPointerView.setVisibility(VISIBLE);
    }