Merge "Fix an issue where stack education and the stack weren't aligned" into tm-dev

This commit is contained in:
Mady Mellor
2022-03-23 18:27:38 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 6 deletions

View File

@@ -899,7 +899,7 @@ public class BubbleStackView extends FrameLayout
mStackAnimationController.updateResources(); mStackAnimationController.updateResources();
mBubbleOverflow.updateResources(); mBubbleOverflow.updateResources();
if (mRelativeStackPositionBeforeRotation != null) { if (!isStackEduShowing() && mRelativeStackPositionBeforeRotation != null) {
mStackAnimationController.setStackPosition( mStackAnimationController.setStackPosition(
mRelativeStackPositionBeforeRotation); mRelativeStackPositionBeforeRotation);
mRelativeStackPositionBeforeRotation = null; mRelativeStackPositionBeforeRotation = null;
@@ -1200,6 +1200,8 @@ public class BubbleStackView extends FrameLayout
addView(mStackEduView); addView(mStackEduView);
} }
mBubbleContainer.bringToFront(); mBubbleContainer.bringToFront();
// Ensure the stack is in the correct spot
mStackAnimationController.setStackPosition(mPositioner.getDefaultStartPosition());
return mStackEduView.show(mPositioner.getDefaultStartPosition()); return mStackEduView.show(mPositioner.getDefaultStartPosition());
} }
@@ -1214,6 +1216,8 @@ public class BubbleStackView extends FrameLayout
mStackEduView = new StackEducationView(mContext, mPositioner, mBubbleController); mStackEduView = new StackEducationView(mContext, mPositioner, mBubbleController);
addView(mStackEduView); addView(mStackEduView);
mBubbleContainer.bringToFront(); // Stack appears on top of the stack education mBubbleContainer.bringToFront(); // Stack appears on top of the stack education
// Ensure the stack is in the correct spot
mStackAnimationController.setStackPosition(mPositioner.getDefaultStartPosition());
mStackEduView.show(mPositioner.getDefaultStartPosition()); mStackEduView.show(mPositioner.getDefaultStartPosition());
} }
if (mManageEduView != null && mManageEduView.getVisibility() == VISIBLE) { if (mManageEduView != null && mManageEduView.getVisibility() == VISIBLE) {
@@ -1331,10 +1335,12 @@ public class BubbleStackView extends FrameLayout
mStackAnimationController.updateResources(); mStackAnimationController.updateResources();
mDismissView.updateResources(); mDismissView.updateResources();
mMagneticTarget.setMagneticFieldRadiusPx(mBubbleSize * 2); mMagneticTarget.setMagneticFieldRadiusPx(mBubbleSize * 2);
if (!isStackEduShowing()) {
mStackAnimationController.setStackPosition( mStackAnimationController.setStackPosition(
new RelativeStackPosition( new RelativeStackPosition(
mPositioner.getRestingPosition(), mPositioner.getRestingPosition(),
mStackAnimationController.getAllowableStackPositionRegion())); mStackAnimationController.getAllowableStackPositionRegion()));
}
if (mIsExpanded) { if (mIsExpanded) {
updateExpandedView(); updateExpandedView();
} }

View File

@@ -122,7 +122,7 @@ class StackEducationView constructor(
* If necessary, shows the user education view for the bubble stack. This appears the first * If necessary, shows the user education view for the bubble stack. This appears the first
* time a user taps on a bubble. * time a user taps on a bubble.
* *
* @return true if user education was shown, false otherwise. * @return true if user education was shown and wasn't showing before, false otherwise.
*/ */
fun show(stackPosition: PointF): Boolean { fun show(stackPosition: PointF): Boolean {
isHiding = false isHiding = false