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

Commit 7b3982d1 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio Committed by Android (Google) Code Review
Browse files

Merge "Make CheckedTextView RTL aware"

parents 836af35a 5c795b54
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -174,7 +174,11 @@ public class CheckedTextView extends TextView implements Checkable {
        int newPadding = (mCheckMarkDrawable != null) ?
                mCheckMarkWidth + mBasePadding : mBasePadding;
        mNeedRequestlayout |= (mPaddingRight != newPadding);
        if (isLayoutRtl()) {
            mPaddingLeft = newPadding;
        } else {
            mPaddingRight = newPadding;
        }
        if (mNeedRequestlayout) {
            requestLayout();
            mNeedRequestlayout = false;
@@ -184,7 +188,7 @@ public class CheckedTextView extends TextView implements Checkable {
    @Override
    public void setPadding(int left, int top, int right, int bottom) {
        super.setPadding(left, top, right, bottom);
        mBasePadding = mPaddingRight;
        mBasePadding = getPaddingEnd();
    }

    @Override
@@ -213,12 +217,13 @@ public class CheckedTextView extends TextView implements Checkable {
                    break;
            }
            
            int right = getWidth();
            checkMarkDrawable.setBounds(
                    right - mPaddingRight,
                    y, 
                    right - mPaddingRight + mCheckMarkWidth,
                    y + height);
            final boolean isLayoutRtl = isLayoutRtl();
            final int width = getWidth();
            final int top = y;
            final int bottom = top + height;
            final int left = isLayoutRtl ? getPaddingEnd() : width - getPaddingEnd();
            final int right = left + mCheckMarkWidth;
            checkMarkDrawable.setBounds(left, top, right, bottom);
            checkMarkDrawable.draw(canvas);
        }
    }