diff options
| author | 2016-03-07 19:51:54 -0800 | |
|---|---|---|
| committer | 2016-03-07 19:51:54 -0800 | |
| commit | 89991a205aa23c9620fe878bc8765a9169a825b6 (patch) | |
| tree | c5f0c8a04e89e41a5ab2165ff657d381842346f9 | |
| parent | 6db575803ecca3e1ef8b905e23c9471268b23dcc (diff) | |
Fixed a bug where the font sizes where not enforced correctly
If a style was passed through it wasn't processed correctly.
Bug: 27431551
Change-Id: If764634cbc8a5bf13260a8fc4f392bc8b7482f4d
| -rw-r--r-- | core/java/android/app/Notification.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index d8f0ac518151..b0d2e7746f48 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -47,6 +47,7 @@ import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; import android.text.style.AbsoluteSizeSpan; +import android.text.style.CharacterStyle; import android.text.style.RelativeSizeSpan; import android.text.style.TextAppearanceSpan; import android.util.Log; @@ -1664,17 +1665,22 @@ public class Notification implements Parcelable SpannableStringBuilder builder = new SpannableStringBuilder(ss.toString()); for (Object span : spans) { Object resultSpan = span; - if (span instanceof TextAppearanceSpan) { - TextAppearanceSpan originalSpan = (TextAppearanceSpan) span; + if (resultSpan instanceof CharacterStyle) { + resultSpan = ((CharacterStyle) span).getUnderlying(); + } + if (resultSpan instanceof TextAppearanceSpan) { + TextAppearanceSpan originalSpan = (TextAppearanceSpan) resultSpan; resultSpan = new TextAppearanceSpan( originalSpan.getFamily(), originalSpan.getTextStyle(), -1, originalSpan.getTextColor(), originalSpan.getLinkTextColor()); - } else if (span instanceof RelativeSizeSpan - || span instanceof AbsoluteSizeSpan) { + } else if (resultSpan instanceof RelativeSizeSpan + || resultSpan instanceof AbsoluteSizeSpan) { continue; + } else { + resultSpan = span; } builder.setSpan(resultSpan, ss.getSpanStart(span), ss.getSpanEnd(span), ss.getSpanFlags(span)); |