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

Commit 46002ec4 authored by Jeff DeCew's avatar Jeff DeCew Committed by Automerger Merge Worker
Browse files

Merge "Revert "Correct RTL support of Smart Actions"" into sc-qpr1-dev am: 36da3903

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

Change-Id: Ib5dde51f0a1fc7847953e00d59308cf16c57d375
parents caa65e4a 36da3903
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -29,8 +29,8 @@
        android:textSize="@dimen/smart_reply_button_font_size"
        android:lineSpacingExtra="@dimen/smart_reply_button_line_spacing_extra"
        android:textColor="@color/smart_reply_button_text"
        android:paddingStart="@dimen/smart_reply_button_action_padding_left"
        android:paddingEnd="@dimen/smart_reply_button_padding_horizontal"
        android:paddingLeft="@dimen/smart_reply_button_action_padding_left"
        android:paddingRight="@dimen/smart_reply_button_padding_horizontal"
        android:drawablePadding="@dimen/smart_action_button_icon_padding"
        android:textStyle="normal"
        android:ellipsize="none"/>
+2 −2
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
        android:textSize="@dimen/smart_reply_button_font_size"
        android:lineSpacingExtra="@dimen/smart_reply_button_line_spacing_extra"
        android:textColor="@color/smart_reply_button_text"
        android:paddingStart="@dimen/smart_reply_button_padding_horizontal"
        android:paddingEnd="@dimen/smart_reply_button_padding_horizontal"
        android:paddingLeft="@dimen/smart_reply_button_padding_horizontal"
        android:paddingRight="@dimen/smart_reply_button_padding_horizontal"
        android:textStyle="normal"
        android:ellipsize="none"/>
+1 −1
Original line number Diff line number Diff line
@@ -311,7 +311,7 @@ interface SmartActionInflater {
                            setBounds(0, 0, newIconSize, newIconSize)
                        }
                // Add the action icon to the Smart Action button.
                setCompoundDrawablesRelative(iconDrawable, null, null, null)
                setCompoundDrawables(iconDrawable, null, null, null)

                val onClickListener = View.OnClickListener {
                    onSmartActionClick(entry, smartActions, actionIndex, action)
+9 −9
Original line number Diff line number Diff line
@@ -503,15 +503,15 @@ public class SmartReplyView extends ViewGroup {
    }

    /**
     * Returns the combined width of the start drawable (the action icon) and the padding between
     * the drawable and the button text.
     * Returns the combined width of the left drawable (the action icon) and the padding between the
     * drawable and the button text.
     */
    private int getStartCompoundDrawableWidthWithPadding(Button button) {
        Drawable[] drawables = button.getCompoundDrawablesRelative();
        Drawable startDrawable = drawables[0];
        if (startDrawable == null) return 0;
    private int getLeftCompoundDrawableWidthWithPadding(Button button) {
        Drawable[] drawables = button.getCompoundDrawables();
        Drawable leftDrawable = drawables[0];
        if (leftDrawable == null) return 0;

        return startDrawable.getBounds().width() + button.getCompoundDrawablePadding();
        return leftDrawable.getBounds().width() + button.getCompoundDrawablePadding();
    }

    private int squeezeButtonToTextWidth(Button button, int heightMeasureSpec, int textWidth) {
@@ -520,8 +520,8 @@ public class SmartReplyView extends ViewGroup {
        // Re-measure the squeezed smart reply button.
        clearLayoutLineCount(button);
        final int widthMeasureSpec = MeasureSpec.makeMeasureSpec(
                button.getPaddingStart() + button.getPaddingEnd() + textWidth
                      + getStartCompoundDrawableWidthWithPadding(button), MeasureSpec.AT_MOST);
                button.getPaddingLeft() + button.getPaddingRight() + textWidth
                      + getLeftCompoundDrawableWidthWithPadding(button), MeasureSpec.AT_MOST);
        button.measure(widthMeasureSpec, heightMeasureSpec);

        final int newWidth = button.getMeasuredWidth();
+14 −4
Original line number Diff line number Diff line
@@ -581,6 +581,8 @@ public class SmartReplyViewTest extends SysuiTestCase {
        // devices.
        layout.setBaselineAligned(false);

        final boolean isRtl = mView.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;

        // Add smart replies
        Button previous = null;
        SmartReplyView.SmartReplies smartReplies =
@@ -600,7 +602,11 @@ public class SmartReplyViewTest extends SysuiTestCase {
            if (previous != null) {
                ViewGroup.MarginLayoutParams lp =
                        (ViewGroup.MarginLayoutParams) previous.getLayoutParams();
                lp.setMarginEnd(mSpacing);
                if (isRtl) {
                    lp.leftMargin = mSpacing;
                } else {
                    lp.rightMargin = mSpacing;
                }
            }
            layout.addView(current);
            previous = current;
@@ -624,7 +630,11 @@ public class SmartReplyViewTest extends SysuiTestCase {
            if (previous != null) {
                ViewGroup.MarginLayoutParams lp =
                        (ViewGroup.MarginLayoutParams) previous.getLayoutParams();
                lp.setMarginEnd(mSpacing);
                if (isRtl) {
                    lp.leftMargin = mSpacing;
                } else {
                    lp.rightMargin = mSpacing;
                }
            }
            layout.addView(current);
            previous = current;
@@ -923,8 +933,8 @@ public class SmartReplyViewTest extends SysuiTestCase {
                .collect(Collectors.toList());
        Button singleLineButton = buttons.get(0);
        Button doubleLineButton = buttons.get(1);
        Drawable singleLineDrawable = singleLineButton.getCompoundDrawablesRelative()[0]; // start
        Drawable doubleLineDrawable = doubleLineButton.getCompoundDrawablesRelative()[0]; // start
        Drawable singleLineDrawable = singleLineButton.getCompoundDrawables()[0]; // left drawable
        Drawable doubleLineDrawable = doubleLineButton.getCompoundDrawables()[0]; // left drawable
        assertEquals(singleLineDrawable.getBounds().width(),
                     doubleLineDrawable.getBounds().width());
        assertEquals(singleLineDrawable.getBounds().height(),