|
|
|
@ -28,6 +28,7 @@ import android.graphics.drawable.Drawable;
|
|
|
|
|
import android.net.Uri;
|
|
|
|
|
import android.os.Build;
|
|
|
|
|
import android.text.Html;
|
|
|
|
|
import android.text.Spannable;
|
|
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
|
|
import android.text.Spanned;
|
|
|
|
|
import android.text.TextUtils;
|
|
|
|
@ -477,12 +478,6 @@ public class HtmlHelper {
|
|
|
|
|
String style = null;
|
|
|
|
|
String clazz = element.attr("class");
|
|
|
|
|
|
|
|
|
|
// Workaround TextView not supporting nested colors
|
|
|
|
|
List<Element> parents = element.parents();
|
|
|
|
|
Collections.reverse(parents);
|
|
|
|
|
for (Element parent : parents)
|
|
|
|
|
style = mergeStyles(style, parent.attr("style"), "color");
|
|
|
|
|
|
|
|
|
|
// Class style
|
|
|
|
|
style = processStyles(element.tagName(), clazz, style, sheets);
|
|
|
|
|
|
|
|
|
@ -1766,7 +1761,7 @@ public class HtmlHelper {
|
|
|
|
|
if (i != spanned.length())
|
|
|
|
|
spanned = (Spanned) spanned.subSequence(0, i);
|
|
|
|
|
|
|
|
|
|
return spanned;
|
|
|
|
|
return reverseSpans(spanned);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static String toHtml(Spanned spanned) {
|
|
|
|
@ -1793,4 +1788,17 @@ public class HtmlHelper {
|
|
|
|
|
|
|
|
|
|
return doc.html();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Spanned reverseSpans(Spanned spanned) {
|
|
|
|
|
Object[] spans = spanned.getSpans(0, spanned.length(), Object.class);
|
|
|
|
|
Spannable reverse = Spannable.Factory.getInstance().newSpannable(spanned.toString());
|
|
|
|
|
if (spans != null && spans.length > 0)
|
|
|
|
|
for (int i = spans.length - 1; i >= 0; --i)
|
|
|
|
|
reverse.setSpan(
|
|
|
|
|
spans[i],
|
|
|
|
|
spanned.getSpanStart(spans[i]),
|
|
|
|
|
spanned.getSpanEnd(spans[i]),
|
|
|
|
|
spanned.getSpanFlags(spans[i]));
|
|
|
|
|
return reverse;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|