summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alex Buynytskyy <alexbuy@google.com> 2022-01-05 20:21:48 -0800
committer Alex Buynytskyy <alexbuy@google.com> 2022-01-05 20:21:48 -0800
commitf8cfb309e3787e865f41d9bd91b2c3f5c08b0841 (patch)
tree03c1c89a1691a5e22a1bfc3f807597ff82a5a4a0
parentc2dc611aca82dddb5a4fdc88ec168d5c3aa868fb (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.java35
-rw-r--r--services/core/java/com/android/server/pm/SharedLibrariesImpl.java2
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 =