77import android .text .TextPaint ;
88import android .text .TextUtils ;
99
10- class SpanUtils {
10+ public class SpanUtils {
1111
1212 private static class EllipsizeCallback implements TextUtils .EllipsizeCallback {
1313 int start = 0 ;
@@ -21,7 +21,7 @@ public void ellipsized(int ellipsedStart, int ellipsedEnd) {
2121 }
2222
2323 @ Nullable
24- static Spanned ellipsizeWithSpans (@ Nullable CharSequence prefix , @ Nullable CountSpan countSpan ,
24+ public static Spanned ellipsizeWithSpans (@ Nullable CharSequence prefix , @ Nullable CountSpan countSpan ,
2525 int tokenCount , @ NonNull TextPaint paint ,
2626 @ NonNull CharSequence originalText , float maxWidth ) {
2727
@@ -33,10 +33,12 @@ static Spanned ellipsizeWithSpans(@Nullable CharSequence prefix, @Nullable Count
3333 }
3434
3535 EllipsizeCallback ellipsizeCallback = new EllipsizeCallback ();
36- Spanned tempEllipsized = ( Spanned ) TextUtils .ellipsize (originalText , paint , maxWidth - countWidth ,
36+ CharSequence tempEllipsized = TextUtils .ellipsize (originalText , paint , maxWidth - countWidth ,
3737 TextUtils .TruncateAt .END , false , ellipsizeCallback );
3838 SpannableStringBuilder ellipsized = new SpannableStringBuilder (tempEllipsized );
39- TextUtils .copySpansFrom (tempEllipsized , 0 , tempEllipsized .length (), Object .class , ellipsized , 0 );
39+ if (tempEllipsized instanceof Spanned ) {
40+ TextUtils .copySpansFrom ((Spanned )tempEllipsized , 0 , tempEllipsized .length (), Object .class , ellipsized , 0 );
41+ }
4042
4143 if (prefix != null && prefix .length () > ellipsizeCallback .start ) {
4244 //We ellipsized part of the prefix, so put it back
0 commit comments