From 5fecb90fe5132d3c0ad3e84ae35b776ab73f9a3b Mon Sep 17 00:00:00 2001 From: Joshua Tsuji Date: Mon, 1 Jun 2020 18:38:36 -0400 Subject: [PATCH] Resize dismiss circle to match bubble size. Fixes: 156257339 Test: make things huge, observe huge dismiss circle too Change-Id: Ic0aca58067eb8e352e185f9c2739ce09e171cddd --- .../systemui/bubbles/BubbleStackView.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index 8a80c4d75e84b..93c51a8c768ff 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -647,6 +647,7 @@ public class BubbleStackView extends FrameLayout } }; + private View mDismissTargetCircle; private ViewGroup mDismissTargetContainer; private PhysicsAnimator mDismissTargetAnimator; private PhysicsAnimator.SpringConfig mDismissTargetSpring = new PhysicsAnimator.SpringConfig( @@ -753,12 +754,12 @@ public class BubbleStackView extends FrameLayout mFlyoutTransitionSpring.addEndListener(mAfterFlyoutTransitionSpring); final int targetSize = res.getDimensionPixelSize(R.dimen.dismiss_circle_size); - final View targetView = new DismissCircleView(context); + mDismissTargetCircle = new DismissCircleView(context); final FrameLayout.LayoutParams newParams = new FrameLayout.LayoutParams(targetSize, targetSize); newParams.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; - targetView.setLayoutParams(newParams); - mDismissTargetAnimator = PhysicsAnimator.getInstance(targetView); + mDismissTargetCircle.setLayoutParams(newParams); + mDismissTargetAnimator = PhysicsAnimator.getInstance(mDismissTargetCircle); mDismissTargetContainer = new FrameLayout(context); mDismissTargetContainer.setLayoutParams(new FrameLayout.LayoutParams( @@ -771,14 +772,14 @@ public class BubbleStackView extends FrameLayout mDismissTargetContainer.setPadding(0, 0, 0, bottomMargin); mDismissTargetContainer.setClipToPadding(false); mDismissTargetContainer.setClipChildren(false); - mDismissTargetContainer.addView(targetView); + mDismissTargetContainer.addView(mDismissTargetCircle); mDismissTargetContainer.setVisibility(View.INVISIBLE); mDismissTargetContainer.setBackgroundResource( R.drawable.floating_dismiss_gradient_transition); addView(mDismissTargetContainer); // Start translated down so the target springs up. - targetView.setTranslationY( + mDismissTargetCircle.setTranslationY( getResources().getDimensionPixelSize(R.dimen.floating_dismiss_gradient_height)); final ContentResolver contentResolver = getContext().getContentResolver(); @@ -787,7 +788,7 @@ public class BubbleStackView extends FrameLayout // Save the MagneticTarget instance for the newly set up view - we'll add this to the // MagnetizedObjects. - mMagneticTarget = new MagnetizedObject.MagneticTarget(targetView, dismissRadius); + mMagneticTarget = new MagnetizedObject.MagneticTarget(mDismissTargetCircle, dismissRadius); mExpandedViewXAnim = new SpringAnimation(mExpandedViewContainer, DynamicAnimation.TRANSLATION_X); @@ -1134,6 +1135,13 @@ public class BubbleStackView extends FrameLayout } mExpandedAnimationController.updateResources(mOrientation, mDisplaySize); mStackAnimationController.updateResources(mOrientation); + + final int targetSize = res.getDimensionPixelSize(R.dimen.dismiss_circle_size); + mDismissTargetCircle.getLayoutParams().width = targetSize; + mDismissTargetCircle.getLayoutParams().height = targetSize; + mDismissTargetCircle.requestLayout(); + + mMagneticTarget.setMagneticFieldRadiusPx(mBubbleSize * 2); } @Override