summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Will Burr <wgb@google.com> 2023-03-14 16:31:57 +0000
committer Will Burr <wgb@google.com> 2023-03-16 17:03:35 +0000
commitc1267a3b4cf4d71fdbc0ee933765a96aed5cfda9 (patch)
tree0adde3baf4d1d6183a0d716b7468e95ca0cb3949
parent9a5ff7125114418d9c76f4d79b7a84b473ba8a4a (diff)
Add all shared info libraries in first pass
Breaks the loop over install requests into two, to ensure that the shared info libraries are added to the package version map before the shared library check takes place. Fixes: 273298881 Test: manual Change-Id: Ibb513d93d2288c966d17c4d2540cdc91f0dc7c1d
-rw-r--r--services/core/java/com/android/server/pm/ReconcilePackageUtils.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/ReconcilePackageUtils.java b/services/core/java/com/android/server/pm/ReconcilePackageUtils.java
index d160740712d3..5312ae6ca84c 100644
--- a/services/core/java/com/android/server/pm/ReconcilePackageUtils.java
+++ b/services/core/java/com/android/server/pm/ReconcilePackageUtils.java
@@ -69,7 +69,6 @@ final class ReconcilePackageUtils {
for (InstallRequest installRequest : installRequests) {
installRequest.onReconcileStarted();
- final String installPackageName = installRequest.getParsedPackage().getPackageName();
// add / replace existing with incoming packages
combinedPackages.put(installRequest.getScannedPackageSetting().getPackageName(),
@@ -84,12 +83,17 @@ final class ReconcilePackageUtils {
incomingSharedLibraries, info)) {
throw ReconcileFailure.ofInternalError(
"Shared Library " + info.getName()
- + " is being installed twice in this set!",
+ + " is being installed twice in this set!",
PackageManagerException.INTERNAL_ERROR_SHARED_LIB_INSTALLED_TWICE);
}
}
}
+ }
+ for (InstallRequest installRequest : installRequests) {
+ final String installPackageName = installRequest.getParsedPackage().getPackageName();
+ final List<SharedLibraryInfo> allowedSharedLibInfos =
+ sharedLibraries.getAllowedSharedLibInfos(installRequest);
final DeletePackageAction deletePackageAction;
// we only want to try to delete for non system apps