diff options
author | Tony Wickham <twickham@google.com> | 2017-04-05 17:37:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-04-05 17:37:15 +0000 |
commit | 8fdf0513461367185ea70386f16bf420dd662212 (patch) | |
tree | ee5c4c6fb397fb46cf2f30223166f48f8702a46e /services/appwidget | |
parent | c01dd791c331815cfa496548cf535147dedfaa8a (diff) | |
parent | a41da04b2d3eb6d746bb357925ec5d4d2a72998c (diff) |
Merge "Add AppWidgetManager#getInstalledProvidersForPackage()" into oc-dev
Diffstat (limited to 'services/appwidget')
-rw-r--r-- | services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java | 9 |
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; } |