summaryrefslogtreecommitdiffstats
path: root/src/com/android/mail/utils
diff options
context:
space:
mode:
authorAndy Huang <ath@google.com>2014-06-18 23:00:52 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-18 23:00:52 +0000
commit2ee62c0050ff141cc58f4a6801d295915e0b9b6c (patch)
tree69aa4821a428ae9794cf733064d83cb5ff9f0a39 /src/com/android/mail/utils
parentff4143d93740a4919c3fd79b97d0a4c9086b6ff7 (diff)
parent590645c7d4194909d53ce35395b1b5af7832d662 (diff)
downloadandroid_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.java19
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)) { }