From 6ce92394ad9de271994680f940f4e7f4ab8e7c8e Mon Sep 17 00:00:00 2001 From: Svet Ganov Date: Wed, 27 Sep 2017 16:04:10 -0700 Subject: Don't clobber shared libs when updating app info If we update a package without restart or if an installed package is a target of a resource overlay we update the app info on the applicaiton side which is then used to update the class loader and the resources the app is loading from. To do that we send over an app info instance for the package which was partially populated and missing the shared lib entries resulting in apps not finding resources and classes from the lib. Test: manual bug:62685545 Change-Id: Ib40b430c85a1e5d74f270a4326497ea3bd832215 --- core/java/android/app/ActivityThread.java | 2 +- services/core/java/com/android/server/am/ActivityManagerService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 2e4ce1886fd6..f01feea14e73 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -5267,7 +5267,7 @@ public final class ActivityThread { final ApplicationInfo aInfo = sPackageManager.getApplicationInfo( packageName, - 0 /*flags*/, + PackageManager.GET_SHARED_LIBRARY_FILES, UserHandle.myUserId()); if (mActivities.size() > 0) { diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index cbfc747a7481..7658b601ed63 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -24537,7 +24537,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (updateFrameworkRes || packagesToUpdate.contains(packageName)) { try { final ApplicationInfo ai = AppGlobals.getPackageManager() - .getApplicationInfo(packageName, 0 /*flags*/, app.userId); + .getApplicationInfo(packageName, STOCK_PM_FLAGS, app.userId); if (ai != null) { app.thread.scheduleApplicationInfoChanged(ai); } -- cgit v1.2.3-59-g8ed1b