Handle null ItemInfo.title for widget list

Bug: 122809947
Change-Id: I2f72fb0e152e93adbb4bc4204d5d688b273452ad
This commit is contained in:
Hyunyoung Song
2019-01-15 11:33:53 -08:00
parent ff9571b30f
commit cbd01fc3dc
2 changed files with 6 additions and 3 deletions

View File

@@ -12,6 +12,8 @@ import com.android.launcher3.Utilities;
import java.lang.reflect.Method;
import java.util.Locale;
import androidx.annotation.NonNull;
public class AlphabeticIndexCompat {
private static final String TAG = "AlphabeticIndexCompat";
@@ -53,7 +55,7 @@ public class AlphabeticIndexCompat {
/**
* Computes the section name for an given string {@param s}.
*/
public String computeSectionName(CharSequence cs) {
public String computeSectionName(@NonNull CharSequence cs) {
String s = Utilities.trim(cs);
String sectionName = mBaseIndex.getBucketLabel(mBaseIndex.getBucketIndex(s));
if (Utilities.trim(sectionName).isEmpty() && s.length() > 0) {
@@ -89,7 +91,7 @@ public class AlphabeticIndexCompat {
/**
* Returns the index of the bucket in which the given string should appear.
*/
protected int getBucketIndex(String s) {
protected int getBucketIndex(@NonNull String s) {
if (s.isEmpty()) {
return UNKNOWN_BUCKET_INDEX;
}

View File

@@ -69,7 +69,8 @@ public class WidgetsModel {
WidgetItemComparator widgetComparator = new WidgetItemComparator();
for (Map.Entry<PackageItemInfo, ArrayList<WidgetItem>> entry : mWidgetsList.entrySet()) {
WidgetListRowEntry row = new WidgetListRowEntry(entry.getKey(), entry.getValue());
row.titleSectionName = indexer.computeSectionName(row.pkgItem.title);
row.titleSectionName = (row.pkgItem.title == null) ? "" :
indexer.computeSectionName(row.pkgItem.title);
Collections.sort(row.widgets, widgetComparator);
result.add(row);
}