Merge "Set the stash handle bounds deterministically" into udc-qpr-dev

This commit is contained in:
Liran Binyamin
2023-07-28 19:54:42 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 6 deletions
@@ -152,6 +152,11 @@ public class BubbleBarViewController {
return mBarView.getBubbleBarBounds();
}
/** The horizontal margin of the bubble bar from the edge of the screen. */
public int getHorizontalMargin() {
return mBarView.getHorizontalMargin();
}
/**
* When the bubble bar is not stashed, it can be collapsed (the icons are in a stack) or
* expanded (the icons are in a row). This indicates whether the bubble bar is expanded.
@@ -123,13 +123,15 @@ public class BubbleStashedHandleViewController {
private void updateBounds() {
// As more bubbles get added, the icon bounds become larger. To ensure a consistent
// handle bar position, we pin it to the edge of the screen.
Rect bubblebarRect = mBarViewController.getBubbleBarBounds();
final int right =
mActivity.getDeviceProfile().widthPx - mBarViewController.getHorizontalMargin();
final int stashedCenterY = mStashedHandleView.getHeight() - mStashedTaskbarHeight / 2;
mStashedHandleBounds.set(
bubblebarRect.right - mStashedHandleWidth,
right - mStashedHandleWidth,
stashedCenterY - mStashedHandleHeight / 2,
bubblebarRect.right,
right,
stashedCenterY + mStashedHandleHeight / 2);
mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
@@ -240,9 +242,6 @@ public class BubbleStashedHandleViewController {
*/
public Animator createRevealAnimToIsStashed(boolean isStashed) {
Rect bubbleBarBounds = new Rect(mBarViewController.getBubbleBarBounds());
// the bubble bar may have been invisible when the bounds were previously calculated,
// update them again to ensure they're correct.
updateBounds();
// Account for the full visual height of the bubble bar
int heightDiff = (mBarSize - bubbleBarBounds.height()) / 2;