summaryrefslogtreecommitdiff
path: root/core/java/android/widget/CheckedTextView.java
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2012-09-28 15:49:38 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2012-09-28 15:49:38 -0700
commit15bbde41dafd592b8d45a7ee6003c1f0b439cb68 (patch)
tree8bf96ab7d19e4d7a7677b7a21d381078d60232e4 /core/java/android/widget/CheckedTextView.java
parentc552081c4598bbbc796fd3e87db324256092b500 (diff)
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
Diffstat (limited to 'core/java/android/widget/CheckedTextView.java')
-rw-r--r--core/java/android/widget/CheckedTextView.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java
index bc78adc3d68d..cea1fd51136d 100644
--- a/core/java/android/widget/CheckedTextView.java
+++ b/core/java/android/widget/CheckedTextView.java
@@ -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);
@@ -193,7 +208,7 @@ public class CheckedTextView extends TextView implements Checkable {
mNeedRequestlayout = false;
}
}
-
+
@Override
public void setPadding(int left, int top, int right, int bottom) {
super.setPadding(left, top, right, bottom);