diff options
author | Doug Felt <dougfelt@google.com> | 2010-05-25 11:51:40 -0700 |
---|---|---|
committer | Doug Felt <dougfelt@google.com> | 2010-06-03 13:33:00 -0700 |
commit | c982f60e982c1d2df9f115ed9a5c3ef3643d0892 (patch) | |
tree | f8ed81cbf9e9861681102fc82b60d6e2c6ca37f6 /core/java/android/text/method | |
parent | 3e7432f823b9f0457e935614787cff4eb71a8f2b (diff) | |
download | frameworks_base-c982f60e982c1d2df9f115ed9a5c3ef3643d0892.zip frameworks_base-c982f60e982c1d2df9f115ed9a5c3ef3643d0892.tar.gz frameworks_base-c982f60e982c1d2df9f115ed9a5c3ef3643d0892.tar.bz2 |
Fix alignment issues with RTL paragraphs.
Also remove unused debugging code that depends on junit.
Remove trailing whitespace in changed code.
Change-Id: Ie02d1b8220c599a672ee6e91af0fba634e0f620c
Diffstat (limited to 'core/java/android/text/method')
-rw-r--r-- | core/java/android/text/method/Touch.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/text/method/Touch.java b/core/java/android/text/method/Touch.java index 42ad10e..c30db20 100644 --- a/core/java/android/text/method/Touch.java +++ b/core/java/android/text/method/Touch.java @@ -18,13 +18,12 @@ package android.text.method; import android.text.Layout; import android.text.NoCopySpan; -import android.text.Layout.Alignment; import android.text.Spannable; -import android.util.Log; +import android.text.Layout.Alignment; +import android.view.KeyEvent; import android.view.MotionEvent; import android.view.ViewConfiguration; import android.widget.TextView; -import android.view.KeyEvent; public class Touch { private Touch() { } @@ -45,6 +44,7 @@ public class Touch { int left = Integer.MAX_VALUE; int right = 0; Alignment a = null; + boolean ltr = true; for (int i = top; i <= bottom; i++) { left = (int) Math.min(left, layout.getLineLeft(i)); @@ -52,6 +52,7 @@ public class Touch { if (a == null) { a = layout.getParagraphAlignment(i); + ltr = layout.getParagraphDirection(i) > 0; } } @@ -59,10 +60,12 @@ public class Touch { int width = widget.getWidth(); int diff = 0; + // align_opposite does NOT mean align_right, we need the paragraph + // direction to resolve it to left or right if (right - left < width - padding) { if (a == Alignment.ALIGN_CENTER) { diff = (width - padding - (right - left)) / 2; - } else if (a == Alignment.ALIGN_OPPOSITE) { + } else if (ltr == (a == Alignment.ALIGN_OPPOSITE)) { diff = width - padding - (right - left); } } |