diff options
| author | Roozbeh Pournader <roozbeh@google.com> | 2015-03-25 18:49:50 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-25 18:49:51 +0000 |
| commit | d1af05efb0ae653cd9507c48b715290a1a6bb1c6 (patch) | |
| tree | 431ee2dea24ab8b480994eef6e5dfec9cddb9a90 | |
| parent | cffef341f957b55c166065f0c4be258279aa8a8c (diff) | |
| parent | 2243ae17a9df91d589c8580f3ae499b63de91166 (diff) | |
| download | frameworks_base-d1af05efb0ae653cd9507c48b715290a1a6bb1c6.zip frameworks_base-d1af05efb0ae653cd9507c48b715290a1a6bb1c6.tar.gz frameworks_base-d1af05efb0ae653cd9507c48b715290a1a6bb1c6.tar.bz2 | |
Merge "Make Html#toHTML() generate correct bidi directions."
| -rw-r--r-- | core/java/android/text/Html.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index 8cf1b4b..7bebbfb 100644 --- a/core/java/android/text/Html.java +++ b/core/java/android/text/Html.java @@ -244,13 +244,18 @@ public class Html { next++; } - withinParagraph(out, text, i, next - nl, nl, next == end); + if (withinParagraph(out, text, i, next - nl, nl, next == end)) { + /* Paragraph should be closed */ + out.append("</p>\n"); + out.append(getOpenParaTagWithDirection(text, next, end)); + } } out.append("</p>\n"); } - private static void withinParagraph(StringBuilder out, Spanned text, + /* Returns true if the caller should close and reopen the paragraph. */ + private static boolean withinParagraph(StringBuilder out, Spanned text, int start, int end, int nl, boolean last) { int next; @@ -363,17 +368,14 @@ public class Html { } } - String p = last ? "" : "</p>\n" + getOpenParaTagWithDirection(text, start, end); - if (nl == 1) { out.append("<br>\n"); - } else if (nl == 2) { - out.append(p); + return false; } else { for (int i = 2; i < nl; i++) { out.append("<br>"); } - out.append(p); + return !last; } } |
