diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java index 984acfd2c860c..d441e6bbf8cbd 100644 --- a/core/java/android/text/TextUtils.java +++ b/core/java/android/text/TextUtils.java @@ -2173,7 +2173,7 @@ public class TextUtils { public static T trimToLengthWithEllipsis(@Nullable T text, @IntRange(from = 1) int size) { T trimmed = trimToSize(text, size); - if (trimmed.length() < text.length()) { + if (text != null && trimmed.length() < text.length()) { trimmed = (T) (trimmed.toString() + "..."); } return trimmed; diff --git a/core/tests/coretests/src/android/text/TextUtilsTest.java b/core/tests/coretests/src/android/text/TextUtilsTest.java index be6ef195fa96c..285ad9fae13c3 100644 --- a/core/tests/coretests/src/android/text/TextUtilsTest.java +++ b/core/tests/coretests/src/android/text/TextUtilsTest.java @@ -792,5 +792,6 @@ public class TextUtilsTest { assertEquals("ABC...", TextUtils.trimToLengthWithEllipsis("ABCDEF", 3)); assertEquals("ABC", TextUtils.trimToLengthWithEllipsis("ABC", 3)); assertEquals("", TextUtils.trimToLengthWithEllipsis("", 3)); + assertNull(TextUtils.trimToLengthWithEllipsis(null, 3)); } }