diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java index 1e7b3e2fa2..fbc7da1827 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java @@ -199,8 +199,10 @@ public class BubbleBarView extends FrameLayout { @Override public void onRtlPropertiesChanged(int layoutDirection) { - // TODO(b/273310265): set this based on bubble bar position and not LTR or RTL - mBubbleBarBackground.setAnchorLeft(layoutDirection == LAYOUT_DIRECTION_RTL); + // TODO(b/313661121): set this based on bubble bar position and not LTR or RTL + boolean onLeft = layoutDirection == LAYOUT_DIRECTION_RTL; + mBubbleBarBackground.setAnchorLeft(onLeft); + mRelativePivotX = onLeft ? 0f : 1f; } private boolean isOnLeft() { diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java index c998d9704e..f88460ff13 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java @@ -16,6 +16,7 @@ package com.android.launcher3.taskbar.bubbles; import static android.view.View.INVISIBLE; +import static android.view.View.LAYOUT_DIRECTION_RTL; import static android.view.View.VISIBLE; import android.animation.Animator; @@ -124,22 +125,35 @@ 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. - final int right = - mActivity.getDeviceProfile().widthPx - mBarViewController.getHorizontalMargin(); - final int stashedCenterY = mStashedHandleView.getHeight() - mStashedTaskbarHeight / 2; + if (isOnLeft()) { + final int left = mBarViewController.getHorizontalMargin(); + mStashedHandleBounds.set( + left, + stashedCenterY - mStashedHandleHeight / 2, + left + mStashedHandleWidth, + stashedCenterY + mStashedHandleHeight / 2); + mStashedHandleView.setPivotX(0); + } else { + final int right = + mActivity.getDeviceProfile().widthPx - mBarViewController.getHorizontalMargin(); + mStashedHandleBounds.set( + right - mStashedHandleWidth, + stashedCenterY - mStashedHandleHeight / 2, + right, + stashedCenterY + mStashedHandleHeight / 2); + mStashedHandleView.setPivotX(mStashedHandleView.getWidth()); + } - mStashedHandleBounds.set( - right - mStashedHandleWidth, - stashedCenterY - mStashedHandleHeight / 2, - right, - stashedCenterY + mStashedHandleHeight / 2); mStashedHandleView.updateSampledRegion(mStashedHandleBounds); - - mStashedHandleView.setPivotX(mStashedHandleView.getWidth()); mStashedHandleView.setPivotY(mStashedHandleView.getHeight() - mStashedTaskbarHeight / 2f); } + private boolean isOnLeft() { + // TODO(b/313661121): set this based on bubble bar position and not LTR or RTL + return mStashedHandleView.getLayoutDirection() == LAYOUT_DIRECTION_RTL; + } + public void onDestroy() { mRegionSamplingHelper.stopAndDestroy(); mRegionSamplingHelper = null;