diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2012-10-03 17:17:14 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2012-10-03 17:17:14 -0700 |
commit | db24f0a73f4385aea104367a4bc71b78f25dbc3f (patch) | |
tree | b147f969943fcaeac0cc3939fd96cbcd8f8bc3c4 | |
parent | 217ca3b0d310472e4df1aa4af72769d7c7a5becb (diff) | |
download | frameworks_base-db24f0a73f4385aea104367a4bc71b78f25dbc3f.zip frameworks_base-db24f0a73f4385aea104367a4bc71b78f25dbc3f.tar.gz frameworks_base-db24f0a73f4385aea104367a4bc71b78f25dbc3f.tar.bz2 |
Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT
- fold LEFT/RIGHT into NORMAL/OPPOSITE cases
Change-Id: Idf14342ffed4840e7b4ea53cc42f1cde8f196a4c
-rw-r--r-- | core/java/android/text/Layout.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index d2bed48..123acca 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -475,10 +475,14 @@ public abstract class Layout { Alignment align = getParagraphAlignment(line); int dir = getParagraphDirection(line); - int x; if (align == Alignment.ALIGN_LEFT) { - x = left; - } else if (align == Alignment.ALIGN_NORMAL) { + align = (dir == DIR_LEFT_TO_RIGHT) ? Alignment.ALIGN_NORMAL : Alignment.ALIGN_OPPOSITE; + } else if (align == Alignment.ALIGN_RIGHT) { + align = (dir == DIR_LEFT_TO_RIGHT) ? Alignment.ALIGN_OPPOSITE : Alignment.ALIGN_NORMAL; + } + + int x; + if (align == Alignment.ALIGN_NORMAL) { if (dir == DIR_LEFT_TO_RIGHT) { x = left; } else { @@ -498,12 +502,11 @@ public abstract class Layout { } } int max = (int)getLineExtent(line, tabStops, false); - if (align == Alignment.ALIGN_RIGHT) { - x = right - max; - } else if (align == Alignment.ALIGN_OPPOSITE) { + if (align == Alignment.ALIGN_OPPOSITE) { if (dir == DIR_LEFT_TO_RIGHT) { x = right - max; } else { + // max is negative here x = left - max; } } else { // Alignment.ALIGN_CENTER |