From dbc1f657863dd9c57a2d30381d3fb36bc7076456 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Thu, 10 Nov 2011 17:02:56 -0800 Subject: [PATCH] Fix NPE that occurs with poorly behaved widgets Bug #5587311 Change-Id: Ida55463575ae94bc469bd2caae4c8b99e54d5a6b --- src/com/android/launcher2/AppsCustomizePagedView.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 6667f7cc14..22f2692ca1 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -460,7 +460,14 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen AppWidgetManager.getInstance(mLauncher).getInstalledProviders(); Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT); List 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));