summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoozbeh Pournader <roozbeh@google.com>2015-03-25 18:49:50 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-25 18:49:51 +0000
commitd1af05efb0ae653cd9507c48b715290a1a6bb1c6 (patch)
tree431ee2dea24ab8b480994eef6e5dfec9cddb9a90
parentcffef341f957b55c166065f0c4be258279aa8a8c (diff)
parent2243ae17a9df91d589c8580f3ae499b63de91166 (diff)
downloadframeworks_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.java16
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;
}
}