Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96ac99ce authored by Jeff DeCew's avatar Jeff DeCew Committed by Android (Google) Code Review
Browse files

Merge "Fix a bug in ContrastColorUtil that was copying NoCopySpan." into main

parents bb4c4360 0ea7f7db
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.graphics.drawable.VectorDrawable;
import android.text.NoCopySpan;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.BackgroundColorSpan;
@@ -188,6 +189,10 @@ public class ContrastColorUtil {
            Object[] spans = ss.getSpans(0, ss.length(), Object.class);
            SpannableStringBuilder builder = new SpannableStringBuilder(ss.toString());
            for (Object span : spans) {
                if (span instanceof NoCopySpan) {
                    // These spans can contain external references and should not be copied.
                    continue;
                }
                Object resultSpan = span;
                if (resultSpan instanceof CharacterStyle) {
                    resultSpan = ((CharacterStyle) span).getUnderlying();
@@ -254,6 +259,10 @@ public class ContrastColorUtil {
            Object[] spans = ss.getSpans(0, ss.length(), Object.class);
            SpannableStringBuilder builder = new SpannableStringBuilder(ss.toString());
            for (Object span : spans) {
                if (span instanceof NoCopySpan) {
                    // These spans can contain external references and should not be copied.
                    continue;
                }
                Object resultSpan = span;
                if (resultSpan instanceof CharacterStyle) {
                    resultSpan = ((CharacterStyle) span).getUnderlying();
@@ -300,6 +309,10 @@ public class ContrastColorUtil {
            Object[] spans = ss.getSpans(0, ss.length(), Object.class);
            SpannableStringBuilder builder = new SpannableStringBuilder(ss.toString());
            for (Object span : spans) {
                if (span instanceof NoCopySpan) {
                    // These spans can contain external references and should not be copied.
                    continue;
                }
                Object resultSpan = span;
                int spanStart = ss.getSpanStart(span);
                int spanEnd = ss.getSpanEnd(span);