mirror of https://github.com/M66B/FairEmail.git
Workaround spanned/html bug
This commit is contained in:
parent
965bd51891
commit
6366ddc053
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue