diff options
| author | 2016-12-15 22:00:35 +0000 | |
|---|---|---|
| committer | 2016-12-15 22:00:38 +0000 | |
| commit | ff53f923e90e6cd3cc75ef3481e2013291af4254 (patch) | |
| tree | 6784bdafb11522d4d15d3df1b69a71ab09ec6e2a | |
| parent | 2beaa2e45edcb910e1b709b951c7fa51eea34663 (diff) | |
| parent | aa0af8e86278d8b0935c95a5ff06c80532bf7733 (diff) | |
Merge "Use TextDirectionHeuristics to detect text direction in Html"
| -rw-r--r-- | core/java/android/text/Html.java | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index de8aa5af5ccc..c3aac74d0f32 100644 --- a/core/java/android/text/Html.java +++ b/core/java/android/text/Html.java @@ -40,8 +40,6 @@ import android.text.style.TypefaceSpan; import android.text.style.URLSpan; import android.text.style.UnderlineSpan; -import com.android.internal.util.ArrayUtils; - import org.ccil.cowan.tagsoup.HTMLSchema; import org.ccil.cowan.tagsoup.Parser; import org.xml.sax.Attributes; @@ -342,19 +340,10 @@ public class Html { } private static String getTextDirection(Spanned text, int start, int end) { - final int len = end - start; - final byte[] levels = ArrayUtils.newUnpaddedByteArray(len); - final char[] buffer = TextUtils.obtain(len); - TextUtils.getChars(text, start, end, buffer, 0); - - int paraDir = AndroidBidi.bidi(Layout.DIR_REQUEST_DEFAULT_LTR, buffer, levels, len, - false /* no info */); - switch(paraDir) { - case Layout.DIR_RIGHT_TO_LEFT: - return " dir=\"rtl\""; - case Layout.DIR_LEFT_TO_RIGHT: - default: - return " dir=\"ltr\""; + if (TextDirectionHeuristics.FIRSTSTRONG_LTR.isRtl(text, start, end - start)) { + return " dir=\"rtl\""; + } else { + return " dir=\"ltr\""; } } |