Prevents NPE when trying to find index of word.
Add check for null prefix or text and simply return the prefix was not
found if either is null.
Change-Id: I81263028a4fcdbf74e6ad0922a170b9a3b83ebae
diff --git a/src/com/android/contacts/format/FormatUtils.java b/src/com/android/contacts/format/FormatUtils.java
index 34a6078..c4f4930 100644
--- a/src/com/android/contacts/format/FormatUtils.java
+++ b/src/com/android/contacts/format/FormatUtils.java
@@ -134,10 +134,14 @@
* @param prefix the text to find, in upper case letters
*/
public static int indexOfWordPrefix(CharSequence text, char[] prefix) {
+ if (prefix == null || text == null) {
+ return -1;
+ }
+
int textLength = text.length();
int prefixLength = prefix.length;
- if (prefix == null || prefixLength == 0 || textLength < prefixLength) {
+ if (prefixLength == 0 || textLength < prefixLength) {
return -1;
}
diff --git a/tests/src/com/android/contacts/format/FormatUtilsTests.java b/tests/src/com/android/contacts/format/FormatUtilsTests.java
index 42e2d53..c3e6236 100644
--- a/tests/src/com/android/contacts/format/FormatUtilsTests.java
+++ b/tests/src/com/android/contacts/format/FormatUtilsTests.java
@@ -71,6 +71,14 @@
}
}
+ public void testIndexOfWordPrefix_NullPrefix() {
+ assertEquals(-1, FormatUtils.indexOfWordPrefix("test", null));
+ }
+
+ public void testIndexOfWordPrefix_NullText() {
+ assertEquals(-1, FormatUtils.indexOfWordPrefix(null, "TE".toCharArray()));
+ }
+
public void testIndexOfWordPrefix_MatchingPrefix() {
checkIndexOfWordPrefix("test", "TE", 0);
checkIndexOfWordPrefix("Test", "TE", 0);