summaryrefslogtreecommitdiff
path: root/services/appwidget
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-04-05 17:37:11 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-04-05 17:37:15 +0000
commit8fdf0513461367185ea70386f16bf420dd662212 (patch)
treeee5c4c6fb397fb46cf2f30223166f48f8702a46e /services/appwidget
parentc01dd791c331815cfa496548cf535147dedfaa8a (diff)
parenta41da04b2d3eb6d746bb357925ec5d4d2a72998c (diff)
Merge "Add AppWidgetManager#getInstalledProvidersForPackage()" into oc-dev
Diffstat (limited to 'services/appwidget')
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 0482e734c234..ac81565fbf3c 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -1631,7 +1631,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
@Override
public ParceledListSlice<AppWidgetProviderInfo> getInstalledProvidersForProfile(int categoryFilter,
- int profileId) {
+ int profileId, String packageName) {
final int userId = UserHandle.getCallingUserId();
if (DEBUG) {
@@ -1653,8 +1653,11 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
Provider provider = mProviders.get(i);
AppWidgetProviderInfo info = provider.info;
- // Ignore an invalid provider or one not matching the filter.
- if (provider.zombie || (info.widgetCategory & categoryFilter) == 0) {
+ // Ignore an invalid provider, one not matching the filter,
+ // or one that isn't in the given package, if any.
+ boolean inPackage = packageName == null
+ || provider.id.componentName.getPackageName().equals(packageName);
+ if (provider.zombie || (info.widgetCategory & categoryFilter) == 0 || !inPackage) {
continue;
}