Set the stash handle bounds deterministically
The bounds of the bubble stash handle is calculated based on the bounds of
the bubble bar. The problem is that the bubble bar could be invisible, which
results in incorrect bounds set for the handle.
This change sets the bounds for the handle based on the width of the screen.
Fixes: 290992144
Test: Manual
- Remove bubbles
- Restart Launcher
- Open the bubble test app and double tap on a chat
- Observe that the handle animates in
Change-Id: Ida260014d59b88387de010891c18057f3b091e93
This commit is contained in:
+5
-6
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user