diff options
| author | 2022-01-05 20:21:48 -0800 | |
|---|---|---|
| committer | 2022-01-05 20:21:48 -0800 | |
| commit | f8cfb309e3787e865f41d9bd91b2c3f5c08b0841 (patch) | |
| tree | 03c1c89a1691a5e22a1bfc3f807597ff82a5a4a0 | |
| parent | c2dc611aca82dddb5a4fdc88ec168d5c3aa868fb (diff) | |
Refine last static lib version lookup.
Bug: 213129909
Fixes: 213129909
Test: presubmit
Change-Id: I9d7e68b53629396cb7cebbbf509c4eb207f13add
| -rw-r--r-- | services/core/java/com/android/server/pm/InstallPackageHelper.java | 35 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/SharedLibrariesImpl.java | 2 |
2 files changed, 17 insertions, 20 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index c595b97f5987..c5a30678e4e9 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -944,14 +944,13 @@ final class InstallPackageHelper { createdAppId.put(packageName, optimisticallyRegisterAppId(result)); versionInfos.put(result.mPkgSetting.getPkg().getPackageName(), mPm.getSettingsVersionForPackage(result.mPkgSetting.getPkg())); - if (result.mStaticSharedLibraryInfo != null - || result.mSdkSharedLibraryInfo != null) { - final PackageSetting sharedLibLatestVersionSetting = - mSharedLibraries.getSharedLibLatestVersionSetting(result); - if (sharedLibLatestVersionSetting != null) { + if (result.mStaticSharedLibraryInfo != null) { + final PackageSetting staticSharedLibLatestVersionSetting = + mSharedLibraries.getStaticSharedLibLatestVersionSetting(result); + if (staticSharedLibLatestVersionSetting != null) { lastStaticSharedLibSettings.put( result.mPkgSetting.getPkg().getPackageName(), - sharedLibLatestVersionSetting); + staticSharedLibLatestVersionSetting); } } } catch (PackageManagerException e) { @@ -3558,22 +3557,20 @@ final class InstallPackageHelper { boolean appIdCreated = false; try { final String pkgName = scanResult.mPkgSetting.getPackageName(); + final ReconcileRequest reconcileRequest = new ReconcileRequest( + Collections.singletonMap(pkgName, scanResult), + mSharedLibraries.getAll(), mPm.mPackages, + Collections.singletonMap(pkgName, + mPm.getSettingsVersionForPackage(parsedPackage)), + Collections.singletonMap(pkgName, + mSharedLibraries.getStaticSharedLibLatestVersionSetting( + scanResult))); final Map<String, ReconciledPackage> reconcileResult = - ReconcilePackageUtils.reconcilePackages( - new ReconcileRequest( - Collections.singletonMap(pkgName, scanResult), - mSharedLibraries.getAll(), - mPm.mPackages, - Collections.singletonMap( - pkgName, - mPm.getSettingsVersionForPackage( - parsedPackage)), - Collections.singletonMap(pkgName, mSharedLibraries - .getSharedLibLatestVersionSetting(scanResult))), + ReconcilePackageUtils.reconcilePackages(reconcileRequest, mPm.mSettings.getKeySetManagerService(), mPm.mInjector); appIdCreated = optimisticallyRegisterAppId(scanResult); - commitReconciledScanResultLocked( - reconcileResult.get(pkgName), mPm.mUserManager.getUserIds()); + commitReconciledScanResultLocked(reconcileResult.get(pkgName), + mPm.mUserManager.getUserIds()); } catch (PackageManagerException e) { if (appIdCreated) { cleanUpAppIdCreation(scanResult); diff --git a/services/core/java/com/android/server/pm/SharedLibrariesImpl.java b/services/core/java/com/android/server/pm/SharedLibrariesImpl.java index f38ae77a3aa9..0055f4eb6446 100644 --- a/services/core/java/com/android/server/pm/SharedLibrariesImpl.java +++ b/services/core/java/com/android/server/pm/SharedLibrariesImpl.java @@ -381,7 +381,7 @@ public final class SharedLibrariesImpl implements SharedLibrariesRead, Watchable * @return The package setting that represents the latest version of shared library info. */ @Nullable - PackageSetting getSharedLibLatestVersionSetting(@NonNull ScanResult scanResult) { + PackageSetting getStaticSharedLibLatestVersionSetting(@NonNull ScanResult scanResult) { PackageSetting sharedLibPackage = null; synchronized (mPm.mLock) { final SharedLibraryInfo latestSharedLibraVersionLPr = |