summaryrefslogtreecommitdiff
path: root/core/java/android/appwidget/AppWidgetProvider.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2009-07-10 13:50:57 -0700
committerJeff Sharkey <jsharkey@android.com>2009-07-10 14:00:25 -0700
commiteda4be30a2a3a63093faf052be5d804bf633e6f5 (patch)
tree8ed71adba89bef8d7e81c245e4a4a1fb1a0eaefe /core/java/android/appwidget/AppWidgetProvider.java
parentd48ca22b9fcea38b112aedb4126f3d030594af47 (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-xcore/java/android/appwidget/AppWidgetProvider.java8
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)) {