diff options
| author | Jeff Sharkey <jsharkey@android.com> | 2009-07-10 13:50:57 -0700 |
|---|---|---|
| committer | Jeff Sharkey <jsharkey@android.com> | 2009-07-10 14:00:25 -0700 |
| commit | eda4be30a2a3a63093faf052be5d804bf633e6f5 (patch) | |
| tree | 8ed71adba89bef8d7e81c245e4a4a1fb1a0eaefe /core/java/android/appwidget/AppWidgetProvider.java | |
| parent | d48ca22b9fcea38b112aedb4126f3d030594af47 (diff) | |
Correctly deliver AppWidgetProvider.onDeleted() events.
When the AppWidgetService sends APPWIDGET_DELETED
broadcasts, it only sends a single APPWIDGET_ID extra. This
change fixes the Provider to handle this extra correctly.
Fixes http://b/issue?id=1800738
Diffstat (limited to 'core/java/android/appwidget/AppWidgetProvider.java')
| -rwxr-xr-x | core/java/android/appwidget/AppWidgetProvider.java | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/core/java/android/appwidget/AppWidgetProvider.java b/core/java/android/appwidget/AppWidgetProvider.java index 26712a10f0ce..f1bbedef9024 100755 --- a/core/java/android/appwidget/AppWidgetProvider.java +++ b/core/java/android/appwidget/AppWidgetProvider.java @@ -64,11 +64,9 @@ public class AppWidgetProvider extends BroadcastReceiver { } else if (AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) { Bundle extras = intent.getExtras(); - if (extras != null) { - int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS); - if (appWidgetIds != null && appWidgetIds.length > 0) { - this.onDeleted(context, appWidgetIds); - } + if (extras != null && extras.containsKey(AppWidgetManager.EXTRA_APPWIDGET_ID)) { + final int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID); + this.onDeleted(context, new int[] { appWidgetId }); } } else if (AppWidgetManager.ACTION_APPWIDGET_ENABLED.equals(action)) { |
