From bfdc47752edb2180266fbcc10a97c6f1eca0f839 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Thu, 8 Oct 2020 01:44:52 -0700 Subject: [PATCH] Avoid NPE in trimToLengthWithEllipsis(). Currently, the text paramter is annotated with @Nullable but passing a null value will cause an NPE. Test: atest core/tests/coretests/src/android/text/TextUtilsTest.java Change-Id: I95a71246aa0fe3398f09cb9b4b037ca096900ad4 --- core/java/android/text/TextUtils.java | 2 +- core/tests/coretests/src/android/text/TextUtilsTest.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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)); } }