summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Raph Levien <raph@google.com> 2013-04-12 20:08:33 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2013-04-12 20:08:33 +0000
commit6c0724010f1a98e391827109c2c369b64197c449 (patch)
tree30d2921980f10060026e73632c16a7f3e1cbfe03
parentd6b8a035337e096f8d313b70f2178f4ec54ba2e4 (diff)
parentf5cf6c9d4472e99caf4c9a3525d7b10cdf1e1c9f (diff)
Merge "Fix for bug 8500202: Right-to-left text not showing in list view" into jb-mr2-dev
-rw-r--r--core/java/android/widget/TextView.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 52b7a81f395d..1246051a09bf 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -5921,6 +5921,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
Layout.Alignment alignment = getLayoutAlignment();
+ final boolean testDirChange = mSingleLine && mLayout != null &&
+ (alignment == Layout.Alignment.ALIGN_NORMAL ||
+ alignment == Layout.Alignment.ALIGN_OPPOSITE);
+ int oldDir = 0;
+ if (testDirChange) oldDir = mLayout.getParagraphDirection(0);
boolean shouldEllipsize = mEllipsize != null && getKeyListener() == null;
final boolean switchEllipsize = mEllipsize == TruncateAt.MARQUEE &&
mMarqueeFadeMode != MARQUEE_FADE_NORMAL;
@@ -6009,7 +6014,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
}
- if (bringIntoView) {
+ if (bringIntoView || (testDirChange && oldDir != mLayout.getParagraphDirection(0))) {
registerForPreDraw();
}