summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Roozbeh Pournader <roozbeh@google.com> 2016-12-15 22:00:35 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-12-15 22:00:38 +0000
commitff53f923e90e6cd3cc75ef3481e2013291af4254 (patch)
tree6784bdafb11522d4d15d3df1b69a71ab09ec6e2a
parent2beaa2e45edcb910e1b709b951c7fa51eea34663 (diff)
parentaa0af8e86278d8b0935c95a5ff06c80532bf7733 (diff)
Merge "Use TextDirectionHeuristics to detect text direction in Html"
-rw-r--r--core/java/android/text/Html.java19
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\"";
}
}