diff options
author | Vitaliy Tomin <highwaystar.ru@gmail.com> | 2017-04-26 15:25:20 +0800 |
---|---|---|
committer | Adrian DC <radian.dc@gmail.com> | 2017-04-26 08:32:46 +0000 |
commit | c9e76546ff03ac87ffb6694d67ed2ed171964196 (patch) | |
tree | e616c5a57fd3588aa0de4c823911bd4318239a2a | |
parent | 99649a575c74b7a76308cf955502a0bf33954a35 (diff) | |
download | android_packages_apps_Trebuchet-c9e76546ff03ac87ffb6694d67ed2ed171964196.tar.gz android_packages_apps_Trebuchet-c9e76546ff03ac87ffb6694d67ed2ed171964196.tar.bz2 android_packages_apps_Trebuchet-c9e76546ff03ac87ffb6694d67ed2ed171964196.zip |
Trebuchet: Do not crash if normalized string for sorting is empty
* Fixes emty string leads to
java.lang.StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=1
at java.lang.String.substring(String.java:1931)
at com.android.launcher3.compat.BaseAlphabeticIndex.getBucketIndex(AlphabeticIndexCompat.java:38)
Change-Id: I9879b33e02a67aed4fb63e85921a51551c2ef208
-rw-r--r-- | src/com/android/launcher3/compat/AlphabeticIndexCompat.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java index 0d249c083..ee1f4d57b 100644 --- a/src/com/android/launcher3/compat/AlphabeticIndexCompat.java +++ b/src/com/android/launcher3/compat/AlphabeticIndexCompat.java @@ -35,6 +35,9 @@ class BaseAlphabeticIndex { } String asciiName = Normalizer.normalize(s, Normalizer.Form.NFD) .replaceAll("[^\\p{ASCII}]", ""); + if (asciiName.isEmpty()) { + return UNKNOWN_BUCKET_INDEX; + } int index = BUCKETS.indexOf(asciiName.substring(0, 1).toUpperCase()); if (index != -1) { return index; |