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

Commit 86fcef87 authored by Eric Fischer's avatar Eric Fischer
Browse files

Don't use BoringLayout to display text that has paragraph-style markup.

BoringLayout assumes it doesn't have to do any work to calculate the
line height.  In this case, though, there may actually be work to be
done, so have it fall back to StaticLayout to do the more thorough job.

Bug 2051050
parent 01f750d6
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.text;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.text.style.ParagraphStyle;
import android.util.FloatMath;

/**
@@ -262,6 +263,14 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback

        TextUtils.recycle(temp);

        if (boring && text instanceof Spanned) {
            Spanned sp = (Spanned) text;
            Object[] styles = sp.getSpans(0, text.length(), ParagraphStyle.class);
            if (styles.length > 0) {
                boring = false;
            }
        }

        if (boring) {
            Metrics fm = metrics;
            if (fm == null) {