Fix NPE that occurs with poorly behaved widgets
Bug #5587311
Change-Id: Ida55463575ae94bc469bd2caae4c8b99e54d5a6b
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 6667f7c..22f2692 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -460,7 +460,14 @@
AppWidgetManager.getInstance(mLauncher).getInstalledProviders();
Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
List<ResolveInfo> shortcuts = mPackageManager.queryIntentActivities(shortcutsIntent, 0);
- mWidgets.addAll(widgets);
+ for (AppWidgetProviderInfo widget : widgets) {
+ if (widget.minWidth > 0 && widget.minHeight > 0) {
+ mWidgets.add(widget);
+ } else {
+ Log.e(LOG_TAG, "Widget " + widget.provider + " has invalid dimensions (" +
+ widget.minWidth + ", " + widget.minHeight + ")");
+ }
+ }
mWidgets.addAll(shortcuts);
Collections.sort(mWidgets,
new LauncherModel.WidgetAndShortcutNameComparator(mPackageManager));