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

Commit 79007026 authored by Victoria Lease's avatar Victoria Lease Committed by Android Git Automerger
Browse files

am 3dbea35f: Merge "use SpannedStringBuilder to build a SpannedString" into klp-dev

* commit '3dbea35f':
  use SpannedStringBuilder to build a SpannedString
parents 459f844e 3dbea35f
Loading
Loading
Loading
Loading
+2 −13
Original line number Original line Diff line number Diff line
@@ -56,6 +56,7 @@ import android.text.Selection;
import android.text.SpanWatcher;
import android.text.SpanWatcher;
import android.text.Spannable;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.Spanned;
import android.text.SpannedString;
import android.text.SpannedString;
import android.text.StaticLayout;
import android.text.StaticLayout;
@@ -3494,19 +3495,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            ss.selEnd = end;
            ss.selEnd = end;


            if (mText instanceof Spanned) {
            if (mText instanceof Spanned) {
                /*
                Spannable sp = new SpannableStringBuilder(mText);
                 * Calling setText() strips off any ChangeWatchers;
                 * strip them now to avoid leaking references.
                 * But do it to a copy so that if there are any
                 * further changes to the text of this view, it
                 * won't get into an inconsistent state.
                 */

                Spannable sp = new SpannableString(mText);

                for (ChangeWatcher cw : sp.getSpans(0, sp.length(), ChangeWatcher.class)) {
                    sp.removeSpan(cw);
                }


                if (mEditor != null) {
                if (mEditor != null) {
                    removeMisspelledSpans(sp);
                    removeMisspelledSpans(sp);