diff --git a/build.gradle b/build.gradle index 6bdac8d..f07a9e5 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ repositories { } dependencies { - compile 'net.sourceforge.htmlcleaner:htmlcleaner:2.2' + compile 'net.sourceforge.htmlcleaner:htmlcleaner:2.16' compile 'com.osbcp.cssparser:cssparser:1.5' } diff --git a/src/main/java/net/nightwhistler/htmlspanner/HtmlSpanner.java b/src/main/java/net/nightwhistler/htmlspanner/HtmlSpanner.java index ac2fce7..74d9559 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/HtmlSpanner.java +++ b/src/main/java/net/nightwhistler/htmlspanner/HtmlSpanner.java @@ -331,7 +331,7 @@ private void applySpan(SpannableStringBuilder builder, TagNode node, SpanStack s if ( !handler.rendersContent() ) { - for (Object childNode : node.getChildren()) { + for (Object childNode : node.getAllChildren()) { if ( childNode instanceof ContentNode ) { handleContent( builder, childNode, stack, cancellationCallback ); diff --git a/src/main/java/net/nightwhistler/htmlspanner/TextUtil.java b/src/main/java/net/nightwhistler/htmlspanner/TextUtil.java index a349731..a5c5dca 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/TextUtil.java +++ b/src/main/java/net/nightwhistler/htmlspanner/TextUtil.java @@ -30,6 +30,9 @@ public class TextUtil { REPLACEMENTS.put("‘", "‘"); REPLACEMENTS.put("’", "’"); + REPLACEMENTS.put("–", "\u2013"); + REPLACEMENTS.put("—", "\u2014"); + REPLACEMENTS.put("―", "\u2015"); } /** diff --git a/src/main/java/net/nightwhistler/htmlspanner/handlers/LinkHandler.java b/src/main/java/net/nightwhistler/htmlspanner/handlers/LinkHandler.java index caaa4a2..e09a78c 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/handlers/LinkHandler.java +++ b/src/main/java/net/nightwhistler/htmlspanner/handlers/LinkHandler.java @@ -15,12 +15,12 @@ */ package net.nightwhistler.htmlspanner.handlers; + import net.nightwhistler.htmlspanner.SpanStack; import net.nightwhistler.htmlspanner.TagNodeHandler; import org.htmlcleaner.TagNode; -import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.URLSpan; diff --git a/src/main/java/net/nightwhistler/htmlspanner/handlers/ListItemHandler.java b/src/main/java/net/nightwhistler/htmlspanner/handlers/ListItemHandler.java index 53cffd6..41aba24 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/handlers/ListItemHandler.java +++ b/src/main/java/net/nightwhistler/htmlspanner/handlers/ListItemHandler.java @@ -40,7 +40,7 @@ private int getMyIndex(TagNode node) { int i = 1; - for (Object child : node.getParent().getChildren()) { + for (Object child : node.getParent().getAllChildren()) { if (child == node) { return i; } diff --git a/src/main/java/net/nightwhistler/htmlspanner/handlers/PreHandler.java b/src/main/java/net/nightwhistler/htmlspanner/handlers/PreHandler.java index d63cc99..26f068d 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/handlers/PreHandler.java +++ b/src/main/java/net/nightwhistler/htmlspanner/handlers/PreHandler.java @@ -48,7 +48,7 @@ private void getPlainText(StringBuffer buffer, Object node) { } else if (node instanceof TagNode) { TagNode tagNode = (TagNode) node; - for (Object child : tagNode.getChildren()) { + for (Object child : tagNode.getAllChildren()) { getPlainText(buffer, child); } } diff --git a/src/main/java/net/nightwhistler/htmlspanner/handlers/StyleNodeHandler.java b/src/main/java/net/nightwhistler/htmlspanner/handlers/StyleNodeHandler.java index 40a533b..be9527a 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/handlers/StyleNodeHandler.java +++ b/src/main/java/net/nightwhistler/htmlspanner/handlers/StyleNodeHandler.java @@ -20,8 +20,8 @@ public void handleTagNode(TagNode node, SpannableStringBuilder builder, int star if ( getSpanner().isAllowStyling() ) { - if ( node.getChildren().size() == 1 ) { - Object childNode = node.getChildren().get(0); + if ( node.getAllChildren().size() == 1 ) { + Object childNode = node.getAllChildren().get(0); if ( childNode instanceof ContentNode ) { parseCSSFromText( ( (ContentNode) childNode ).getContent(), @@ -32,9 +32,9 @@ public void handleTagNode(TagNode node, SpannableStringBuilder builder, int star } - private void parseCSSFromText( StringBuilder text, SpanStack spanStack ) { + private void parseCSSFromText( String text, SpanStack spanStack ) { try { - for ( Rule rule: CSSParser.parse( text.toString() ) ) { + for ( Rule rule: CSSParser.parse( text ) ) { spanStack.registerCompiledRule(CSSCompiler.compile(rule, getSpanner())); } } catch ( Exception e ) { diff --git a/src/main/java/net/nightwhistler/htmlspanner/handlers/TableHandler.java b/src/main/java/net/nightwhistler/htmlspanner/handlers/TableHandler.java index cadfc1b..7169250 100644 --- a/src/main/java/net/nightwhistler/htmlspanner/handlers/TableHandler.java +++ b/src/main/java/net/nightwhistler/htmlspanner/handlers/TableHandler.java @@ -121,7 +121,7 @@ private void readNode(Object node, Table table) { table.addRow(); } - for (Object child : tagNode.getChildren()) { + for (Object child : tagNode.getAllChildren()) { readNode(child, table); } }