diff options
author | Andy Huang <ath@google.com> | 2014-06-18 23:00:52 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-06-18 23:00:52 +0000 |
commit | 2ee62c0050ff141cc58f4a6801d295915e0b9b6c (patch) | |
tree | 69aa4821a428ae9794cf733064d83cb5ff9f0a39 /src/com/android/mail/utils | |
parent | ff4143d93740a4919c3fd79b97d0a4c9086b6ff7 (diff) | |
parent | 590645c7d4194909d53ce35395b1b5af7832d662 (diff) | |
download | android_packages_apps_UnifiedEmail-2ee62c0050ff141cc58f4a6801d295915e0b9b6c.tar.gz android_packages_apps_UnifiedEmail-2ee62c0050ff141cc58f4a6801d295915e0b9b6c.tar.bz2 android_packages_apps_UnifiedEmail-2ee62c0050ff141cc58f4a6801d295915e0b9b6c.zip |
am 590645c7: Merge "support for subclass-custom span convert behavior" into ub-gmail-ur13-dev
* commit '590645c7d4194909d53ce35395b1b5af7832d662':
support for subclass-custom span convert behavior
Diffstat (limited to 'src/com/android/mail/utils')
-rw-r--r-- | src/com/android/mail/utils/HtmlUtils.java | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/com/android/mail/utils/HtmlUtils.java b/src/com/android/mail/utils/HtmlUtils.java index b17ddb4f6..f63913cb0 100644 --- a/src/com/android/mail/utils/HtmlUtils.java +++ b/src/com/android/mail/utils/HtmlUtils.java @@ -41,18 +41,13 @@ public class HtmlUtils { /** * Use our custom SpannedConverter to process the HtmlNode results from HtmlTree. * @param html - * @return + * @return processed HTML as a Spanned */ - public static Spanned htmlToSpan(String html) { + public static Spanned htmlToSpan(String html, HtmlTree.ConverterFactory factory) { AnalyticsTimer.getInstance().trackStart(AnalyticsTimer.COMPOSE_HTML_TO_SPAN); // Get the html "tree" final HtmlTree htmlTree = com.android.mail.utils.Utils.getHtmlTree(html); - htmlTree.setConverterFactory(new HtmlTree.ConverterFactory() { - @Override - public HtmlTree.Converter createInstance() { - return new SpannedConverter(); - } - }); + htmlTree.setConverterFactory(factory); final Spanned spanned = htmlTree.getSpanned(); AnalyticsTimer.getInstance().logDuration(AnalyticsTimer.COMPOSE_HTML_TO_SPAN, true, "compose", "html_to_span", null); @@ -73,9 +68,9 @@ public class HtmlUtils { * - p * - div */ - private static class SpannedConverter implements HtmlTree.Converter<Spanned> { + public static class SpannedConverter implements HtmlTree.Converter<Spanned> { - private final SpannableStringBuilder mBuilder = new SpannableStringBuilder(); + protected final SpannableStringBuilder mBuilder = new SpannableStringBuilder(); private final LinkedList<TagWrapper> mSeenTags = Lists.newLinkedList(); @Override @@ -97,7 +92,7 @@ public class HtmlUtils { /** * Helper function to handle start tag */ - private void handleStart(HtmlDocument.Tag tag) { + protected void handleStart(HtmlDocument.Tag tag) { // Special case these tags since they only affect the number of newlines final String tagName = tag.getName().toLowerCase(); if (tagName.equals("br")) { @@ -124,7 +119,7 @@ public class HtmlUtils { /** * Helper function to handle end tag */ - private void handleEnd(HtmlDocument.EndTag tag) { + protected void handleEnd(HtmlDocument.EndTag tag) { final String tagName = tag.getName().toLowerCase(); TagWrapper lastSeen; while ((lastSeen = mSeenTags.poll()) != null && !lastSeen.tagName.equals(tagName)) { } |