diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index de8aa5af5ccc0..c3aac74d0f32b 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\""; } }