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

Commit a69d3d44 authored by Jeff DeCew's avatar Jeff DeCew Committed by Android (Google) Code Review
Browse files

Merge "Correct RTL support of Smart Actions" into sc-qpr1-dev

parents 25ef63e7 8dab4802
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:paddingLeft="@dimen/smart_reply_button_action_padding_left"
        android:paddingRight="@dimen/smart_reply_button_padding_horizontal"
        android:paddingStart="@dimen/smart_reply_button_action_padding_left"
        android:paddingEnd="@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:paddingLeft="@dimen/smart_reply_button_padding_horizontal"
        android:paddingRight="@dimen/smart_reply_button_padding_horizontal"
        android:paddingStart="@dimen/smart_reply_button_padding_horizontal"
        android:paddingEnd="@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.
                setCompoundDrawables(iconDrawable, null, null, null)
                setCompoundDrawablesRelative(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 left drawable (the action icon) and the padding between the
     * drawable and the button text.
     * Returns the combined width of the start drawable (the action icon) and the padding between
     * the drawable and the button text.
     */
    private int getLeftCompoundDrawableWidthWithPadding(Button button) {
        Drawable[] drawables = button.getCompoundDrawables();
        Drawable leftDrawable = drawables[0];
        if (leftDrawable == null) return 0;
    private int getStartCompoundDrawableWidthWithPadding(Button button) {
        Drawable[] drawables = button.getCompoundDrawablesRelative();
        Drawable startDrawable = drawables[0];
        if (startDrawable == null) return 0;

        return leftDrawable.getBounds().width() + button.getCompoundDrawablePadding();
        return startDrawable.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.getPaddingLeft() + button.getPaddingRight() + textWidth
                      + getLeftCompoundDrawableWidthWithPadding(button), MeasureSpec.AT_MOST);
                button.getPaddingStart() + button.getPaddingEnd() + textWidth
                      + getStartCompoundDrawableWidthWithPadding(button), MeasureSpec.AT_MOST);
        button.measure(widthMeasureSpec, heightMeasureSpec);

        final int newWidth = button.getMeasuredWidth();
+4 −14
Original line number Diff line number Diff line
@@ -581,8 +581,6 @@ 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 =
@@ -602,11 +600,7 @@ public class SmartReplyViewTest extends SysuiTestCase {
            if (previous != null) {
                ViewGroup.MarginLayoutParams lp =
                        (ViewGroup.MarginLayoutParams) previous.getLayoutParams();
                if (isRtl) {
                    lp.leftMargin = mSpacing;
                } else {
                    lp.rightMargin = mSpacing;
                }
                lp.setMarginEnd(mSpacing);
            }
            layout.addView(current);
            previous = current;
@@ -630,11 +624,7 @@ public class SmartReplyViewTest extends SysuiTestCase {
            if (previous != null) {
                ViewGroup.MarginLayoutParams lp =
                        (ViewGroup.MarginLayoutParams) previous.getLayoutParams();
                if (isRtl) {
                    lp.leftMargin = mSpacing;
                } else {
                    lp.rightMargin = mSpacing;
                }
                lp.setMarginEnd(mSpacing);
            }
            layout.addView(current);
            previous = current;
@@ -933,8 +923,8 @@ public class SmartReplyViewTest extends SysuiTestCase {
                .collect(Collectors.toList());
        Button singleLineButton = buttons.get(0);
        Button doubleLineButton = buttons.get(1);
        Drawable singleLineDrawable = singleLineButton.getCompoundDrawables()[0]; // left drawable
        Drawable doubleLineDrawable = doubleLineButton.getCompoundDrawables()[0]; // left drawable
        Drawable singleLineDrawable = singleLineButton.getCompoundDrawablesRelative()[0]; // start
        Drawable doubleLineDrawable = doubleLineButton.getCompoundDrawablesRelative()[0]; // start
        assertEquals(singleLineDrawable.getBounds().width(),
                     doubleLineDrawable.getBounds().width());
        assertEquals(singleLineDrawable.getBounds().height(),