summaryrefslogtreecommitdiffstats
path: root/services/appwidget
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2014-10-07 12:14:45 -0700
committerAdam Lesinski <adamlesinski@google.com>2014-10-07 12:14:45 -0700
commitd00bb5edcfc8ee5c2026f66785b703b388314b22 (patch)
tree8eca016216872e5aaf34f33e690b83ca96d619aa /services/appwidget
parenta80aba70728c2843df94474dbd7829dadb77855f (diff)
downloadframeworks_base-d00bb5edcfc8ee5c2026f66785b703b388314b22.zip
frameworks_base-d00bb5edcfc8ee5c2026f66785b703b388314b22.tar.gz
frameworks_base-d00bb5edcfc8ee5c2026f66785b703b388314b22.tar.bz2
Load shared library dependencies for AppWidgets
PackageManager and AppWidgetHostServiceImpl should be loading the resources of any shared libraries being used by the app, as they have references in their Widgets or application icons/labels, etc. Bug:17668152 Change-Id: I359662334edb125d7570089916727df4eeba02bb
Diffstat (limited to 'services/appwidget')
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 86cfdb9..fca13f8 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -2207,9 +2207,15 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
private List<ResolveInfo> queryIntentReceivers(Intent intent, int userId) {
final long identity = Binder.clearCallingIdentity();
try {
+ int flags = PackageManager.GET_META_DATA;
+
+ // Widgets referencing shared libraries need to have their
+ // dependencies loaded.
+ flags |= PackageManager.GET_SHARED_LIBRARY_FILES;
+
return mPackageManager.queryIntentReceivers(intent,
intent.resolveTypeIfNeeded(mContext.getContentResolver()),
- PackageManager.GET_META_DATA, userId);
+ flags, userId);
} catch (RemoteException re) {
return Collections.emptyList();
} finally {