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

Commit 15bbde41 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings

- fix padding issue. Need to update padding if layout direction change

Change-Id: I2924c1b94c7ef054dd9bd670de4c5c206f52e412
parent c552081c
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@ public class CheckedTextView extends TextView implements Checkable {
    private int mCheckMarkWidth;
    private boolean mNeedRequestlayout;

    private int initialPaddingLeft = -1;
    private int initialPaddingRight = -1;

    private static final int[] CHECKED_STATE_SET = {
        R.attr.state_checked
    };
@@ -176,10 +179,22 @@ public class CheckedTextView extends TextView implements Checkable {
    protected void internalSetPadding(int left, int top, int right, int bottom) {
        super.internalSetPadding(left, top, right, bottom);
        setBasePadding(isLayoutRtl());
        initialPaddingLeft = mPaddingLeft;
        initialPaddingRight = mPaddingRight;
    }

    @Override
    public void onPaddingChanged(int layoutDirection) {
        updatePadding();
    }

    @Override
    public void onRtlPropertiesChanged() {
        super.onRtlPropertiesChanged();
        updatePadding();
    }

    private void updatePadding() {
        int newPadding = (mCheckMarkDrawable != null) ?
                mCheckMarkWidth + mBasePadding : mBasePadding;
        mNeedRequestlayout |= (mPaddingRight != newPadding);