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

Commit a061082d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix collapsed group message text alignment" into rvc-dev am: 728da700 am: eb432a83

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

Change-Id: I83488bdbd08e49baf0c6a2819b6fb4d97d6ebfa1
parents 3e3708ed eb432a83
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ public class MessagingGroup extends LinearLayout implements MessagingLinearLayou
    private ViewGroup mMessagingIconContainer;
    private int mConversationContentStart;
    private int mNonConversationMarginEnd;
    private int mNotificationTextMarginTop;

    public MessagingGroup(@NonNull Context context) {
        super(context);
@@ -149,6 +150,8 @@ public class MessagingGroup extends LinearLayout implements MessagingLinearLayou
                R.dimen.conversation_content_start);
        mNonConversationMarginEnd = getResources().getDimensionPixelSize(
                R.dimen.messaging_layout_margin_end);
        mNotificationTextMarginTop = getResources().getDimensionPixelSize(
                R.dimen.notification_text_margin_top);
    }

    public void updateClipRect() {
@@ -665,6 +668,9 @@ public class MessagingGroup extends LinearLayout implements MessagingLinearLayou
    public void setSingleLine(boolean singleLine) {
        if (singleLine != mSingleLine) {
            mSingleLine = singleLine;
            MarginLayoutParams p = (MarginLayoutParams) mMessageContainer.getLayoutParams();
            p.topMargin = singleLine ? 0 : mNotificationTextMarginTop;
            mMessageContainer.setLayoutParams(p);
            mContentContainer.setOrientation(
                    singleLine ? LinearLayout.HORIZONTAL : LinearLayout.VERTICAL);
            MarginLayoutParams layoutParams = (MarginLayoutParams) mSenderView.getLayoutParams();
+21 −0
Original line number Diff line number Diff line
@@ -300,6 +300,27 @@ public class MessagingLinearLayout extends ViewGroup {
        return mMessagingLayout;
    }

    @Override
    public int getBaseline() {
        // When placed in a horizontal linear layout (as is the case in a single-line MessageGroup),
        // align with the last visible child (which is the one that will be displayed in the single-
        // line group.
        int childCount = getChildCount();
        for (int i = childCount - 1; i >= 0; i--) {
            final View child = getChildAt(i);
            if (isGone(child)) {
                continue;
            }
            final int childBaseline = child.getBaseline();
            if (childBaseline == -1) {
                return -1;
            }
            MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
            return lp.topMargin + childBaseline;
        }
        return super.getBaseline();
    }

    public interface MessagingChild {
        int MEASURED_NORMAL = 0;
        int MEASURED_SHORTENED = 1;
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:baselineAligned="true"
        android:orientation="vertical">
        <com.android.internal.widget.ImageFloatingTextView
            android:id="@+id/message_name"