diff options
| author | 2023-03-14 16:31:57 +0000 | |
|---|---|---|
| committer | 2023-03-16 17:03:35 +0000 | |
| commit | c1267a3b4cf4d71fdbc0ee933765a96aed5cfda9 (patch) | |
| tree | 0adde3baf4d1d6183a0d716b7468e95ca0cb3949 | |
| parent | 9a5ff7125114418d9c76f4d79b7a84b473ba8a4a (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.java | 8 |
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 |