From 3989260800b8c07a2ce216beebf188fe7978b25d Mon Sep 17 00:00:00 2001 From: Lyn Han Date: Thu, 18 Jun 2020 21:15:28 -0700 Subject: [PATCH] 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 --- .../android/systemui/bubbles/BubbleExpandedView.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java index 959130bbdd0f0..8722ac9a36b58 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java @@ -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); }