OSDN Git Service

Fix bug 2362761 AppWidgetService should use Intent.setPackage()
authorJoe Onorato <joeo@android.com>
Mon, 1 Feb 2010 23:24:46 +0000 (18:24 -0500)
committerJoe Onorato <joeo@android.com>
Mon, 1 Feb 2010 23:24:46 +0000 (18:24 -0500)
Thanks Bjorn for the tip.

services/java/com/android/server/AppWidgetService.java

index 8797a42..ec7c60b 100644 (file)
@@ -1107,10 +1107,9 @@ class AppWidgetService extends IAppWidgetService.Stub
         }
     };
 
-    // TODO: If there's a better way of matching an intent filter against the
-    // packages for a given package, use that.
     void addProvidersForPackageLocked(String pkgName) {
         Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
+        intent.setPackage(pkgName);
         List<ResolveInfo> broadcastReceivers = mPackageManager.queryBroadcastReceivers(intent,
                 PackageManager.GET_META_DATA);
 
@@ -1125,11 +1124,10 @@ class AppWidgetService extends IAppWidgetService.Stub
         }
     }
 
-    // TODO: If there's a better way of matching an intent filter against the
-    // packages for a given package, use that.
     void updateProvidersForPackageLocked(String pkgName) {
         HashSet<String> keep = new HashSet<String>();
         Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
+        intent.setPackage(pkgName);
         List<ResolveInfo> broadcastReceivers = mPackageManager.queryBroadcastReceivers(intent,
                 PackageManager.GET_META_DATA);