diff --git a/core/java/android/text/TextPaint.java b/core/java/android/text/TextPaint.java index 625d8693dbde1..afd989256b88c 100644 --- a/core/java/android/text/TextPaint.java +++ b/core/java/android/text/TextPaint.java @@ -72,8 +72,15 @@ public class TextPaint extends Paint { linkColor = tp.linkColor; drawableState = tp.drawableState; density = tp.density; - underlineColors = tp.underlineColors; - underlineThicknesses = tp.underlineThicknesses; + + if (tp.underlineColors != null) { + if (underlineColors == null || underlineColors.length < tp.underlineCount) { + underlineColors = new int[tp.underlineCount]; + underlineThicknesses = new float[tp.underlineCount]; + } + System.arraycopy(tp.underlineColors, 0, underlineColors, 0, tp.underlineCount); + System.arraycopy(tp.underlineThicknesses, 0, underlineThicknesses, 0, tp.underlineCount); + } underlineCount = tp.underlineCount; }