Merge change I2d844842 into eclair

* changes:
  Fix for NPE in #2248683
This commit is contained in:
Android (Google) Code Review
2009-11-11 19:15:47 -08:00

View File

@@ -1403,13 +1403,17 @@ public class ManageApplications extends ListActivity implements
} }
} else { } else {
final String prefixString = prefix.toString().toLowerCase(); final String prefixString = prefix.toString().toLowerCase();
final String spacePrefixString = " " + prefixString;
Map<String, String> newMap = new HashMap<String, String>(); Map<String, String> newMap = new HashMap<String, String>();
synchronized (mFilterLock) { synchronized (mFilterLock) {
Map<String, String> localMap = mFilterMap; Map<String, String> localMap = mFilterMap;
Set<String> keys = mFilterMap.keySet(); Set<String> keys = mFilterMap.keySet();
for (String key : keys) { for (String key : keys) {
String label = localMap.get(key); String label = localMap.get(key);
if (label.indexOf(prefixString) != -1) { if (label == null) continue;
label = label.toLowerCase();
if (label.startsWith(prefixString)
|| label.indexOf(spacePrefixString) != -1) {
newMap.put(key, label); newMap.put(key, label);
} }
} }
@@ -1895,6 +1899,9 @@ public class ManageApplications extends ListActivity implements
public final int compare(ApplicationInfo a, ApplicationInfo b) { public final int compare(ApplicationInfo a, ApplicationInfo b) {
AppInfo ainfo = mCache.getEntry(a.packageName); AppInfo ainfo = mCache.getEntry(a.packageName);
AppInfo binfo = mCache.getEntry(b.packageName); AppInfo binfo = mCache.getEntry(b.packageName);
// Check for null app names, to avoid NPE in rare cases
if (ainfo == null || ainfo.appName == null) return -1;
if (binfo == null || binfo.appName == null) return 1;
return sCollator.compare(ainfo.appName.toString(), binfo.appName.toString()); return sCollator.compare(ainfo.appName.toString(), binfo.appName.toString());
} }
} }