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

Commit acaeddf9 authored by Mady Mellor's avatar Mady Mellor Committed by Android (Google) Code Review
Browse files

Merge "Fix crash & positioning of notif-based bubbles"

parents a936b91a 5029fa63
Loading
Loading
Loading
Loading
+21 −9
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import android.util.AttributeSet;
import android.util.Log;
import android.util.StatsLog;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.widget.FrameLayout;
import android.widget.ImageButton;
@@ -316,8 +317,25 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
    /**
     * Lets activity view know it should be shown / populated.
     */
    public void populateActivityView() {
    public void populateExpandedView() {
        if (usingActivityView()) {
            mActivityView.setCallback(mStateCallback);
        } else {
            // We're using notification template
            ViewGroup parent = (ViewGroup) mNotifRow.getParent();
            if (parent == this) {
                // Already added
                return;
            } else if (parent != null) {
                // Still in the shade... remove it
                parent.removeView(mNotifRow);
            }
            if (mShowOnTop) {
                addView(mNotifRow);
            } else {
                addView(mNotifRow, mUseFooter ? 0 : 1);
            }
        }
    }

    /**
@@ -376,14 +394,8 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
        } else {
            // Hide activity view if we had it previously
            mActivityView.setVisibility(GONE);

            // Use notification view
            mNotifRow = mEntry.getRow();
            if (mShowOnTop) {
                addView(mNotifRow);
            } else {
                addView(mNotifRow, mUseFooter ? 0 : 1);
            }

        }
        updateView();
    }
+5 −1
Original line number Diff line number Diff line
@@ -807,7 +807,7 @@ public class BubbleStackView extends FrameLayout {
        mExpandedViewContainer.removeAllViews();
        if (mExpandedBubble != null && mIsExpanded) {
            mExpandedViewContainer.addView(mExpandedBubble.expandedView);
            mExpandedBubble.expandedView.populateActivityView();
            mExpandedBubble.expandedView.populateExpandedView();
            mExpandedViewContainer.setVisibility(mIsExpanded ? VISIBLE : GONE);
        }
    }
@@ -817,8 +817,12 @@ public class BubbleStackView extends FrameLayout {

        mExpandedViewContainer.setVisibility(mIsExpanded ? VISIBLE : GONE);
        if (mIsExpanded) {
            // First update the view so that it calculates a new height (ensuring the y position
            // calculation is correct)
            mExpandedBubble.expandedView.updateView();
            final float y = getYPositionForExpandedView();
            mExpandedViewContainer.setTranslationY(y);
            // Then update the view so that ActivityView knows we translated
            mExpandedBubble.expandedView.updateView();
        }