Merge "Add installerSource to packageSetting earlier" into rvc-dev am: 93b7187b08

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12050369

Change-Id: I4dda052a1346b4af76992a8c7d59aa0fa07a8562
This commit is contained in:
Patrick Baumann
2020-07-01 14:57:26 +00:00
committed by Automerger Merge Worker

View File

@@ -11083,6 +11083,21 @@ public class PackageManagerService extends IPackageManager.Stub
pkgSetting.forceQueryableOverride = true;
}
// If this is part of a standard install, set the initiating package name, else rely on
// previous device state.
if (reconciledPkg.installArgs != null) {
InstallSource installSource = reconciledPkg.installArgs.installSource;
if (installSource.initiatingPackageName != null) {
final PackageSetting ips = mSettings.mPackages.get(
installSource.initiatingPackageName);
if (ips != null) {
installSource = installSource.setInitiatingPackageSignatures(
ips.signatures);
}
}
pkgSetting.setInstallSource(installSource);
}
// TODO(toddke): Consider a method specifically for modifying the Package object
// post scan; or, moving this stuff out of the Package object since it has nothing
// to do with the package on disk.
@@ -16089,16 +16104,7 @@ public class PackageManagerService extends IPackageManager.Stub
ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, installerPackageName);
}
if (installSource.initiatingPackageName != null) {
final PackageSetting ips = mSettings.mPackages.get(
installSource.initiatingPackageName);
if (ips != null) {
installSource = installSource.setInitiatingPackageSignatures(
ips.signatures);
}
}
ps.setInstallSource(installSource);
mSettings.addInstallerPackageNames(installSource);
mSettings.addInstallerPackageNames(ps.installSource);
// When replacing an existing package, preserve the original install reason for all
// users that had the package installed before. Similarly for uninstall reasons.