Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccf189e7 authored by Presubmit Automerger Backend's avatar Presubmit Automerger Backend
Browse files

[automerge] Fix bubble position with IME when the bubble has a custom height...

[automerge] Fix bubble position with IME when the bubble has a custom height 2p: d303a026 2p: 7e95e2b4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17667692

Bug: 223906486
Change-Id: Ie7d964acd186fc57641f8dcc6cddd9506bbb9ce4
parents 0c5854ad 7e95e2b4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ public class BubbleExpandedView extends LinearLayout {
    private ShapeDrawable mRightPointer;
    private float mCornerRadius = 0f;
    private int mBackgroundColorFloating;
    private boolean mUsingMaxHeight;

    @Nullable private Bubble mBubble;
    private PendingIntent mPendingIntent;
@@ -621,6 +622,13 @@ public class BubbleExpandedView extends LinearLayout {
        return prevWasIntentBased != newIsIntentBased;
    }

    /**
     * Whether the bubble is using all available height to display or not.
     */
    public boolean isUsingMaxHeight() {
        return mUsingMaxHeight;
    }

    void updateHeight() {
        if (mExpandedViewContainerLocation == null) {
            return;
@@ -632,6 +640,7 @@ public class BubbleExpandedView extends LinearLayout {
            float height = desiredHeight == MAX_HEIGHT
                    ? maxHeight
                    : Math.min(desiredHeight, maxHeight);
            mUsingMaxHeight = height == maxHeight;
            FrameLayout.LayoutParams lp = mIsOverflow
                    ? (FrameLayout.LayoutParams) mOverflowView.getLayoutParams()
                    : (FrameLayout.LayoutParams) mTaskView.getLayoutParams();
+7 −0
Original line number Diff line number Diff line
@@ -2355,7 +2355,14 @@ public class BubbleStackView extends FrameLayout
            }
        } else if (mPositioner.showBubblesVertically() && mIsExpanded
                && mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) {
            float selectedY = mPositioner.getExpandedBubbleXY(getState().selectedIndex,
                    getState()).y;
            float newExpandedViewTop = mPositioner.getExpandedViewY(mExpandedBubble, selectedY);
            mExpandedBubble.getExpandedView().setImeVisible(visible);
            if (!mExpandedBubble.getExpandedView().isUsingMaxHeight()) {
                mExpandedViewContainer.animate().translationY(newExpandedViewTop);
            }

            List<Animator> animList = new ArrayList();
            for (int i = 0; i < mBubbleContainer.getChildCount(); i++) {
                View child = mBubbleContainer.getChildAt(i);