Merge "Use PackageInfoUtils with null PackageSetting to set server-only flags" into rvc-dev am: eedf74437f
Change-Id: Idb40ee597c4d1bb43547efd0e5ac15840c4888fa
This commit is contained in:
@@ -213,7 +213,6 @@ import android.content.pm.VersionedPackage;
|
|||||||
import android.content.pm.dex.ArtManager;
|
import android.content.pm.dex.ArtManager;
|
||||||
import android.content.pm.dex.DexMetadataHelper;
|
import android.content.pm.dex.DexMetadataHelper;
|
||||||
import android.content.pm.dex.IArtManager;
|
import android.content.pm.dex.IArtManager;
|
||||||
import android.content.pm.parsing.PackageInfoWithoutStateUtils;
|
|
||||||
import android.content.pm.parsing.ParsingPackageUtils;
|
import android.content.pm.parsing.ParsingPackageUtils;
|
||||||
import android.content.pm.parsing.component.ParsedActivity;
|
import android.content.pm.parsing.component.ParsedActivity;
|
||||||
import android.content.pm.parsing.component.ParsedInstrumentation;
|
import android.content.pm.parsing.component.ParsedInstrumentation;
|
||||||
@@ -10986,17 +10985,22 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
if (createNewPackage) {
|
if (createNewPackage) {
|
||||||
final boolean instantApp = (scanFlags & SCAN_AS_INSTANT_APP) != 0;
|
final boolean instantApp = (scanFlags & SCAN_AS_INSTANT_APP) != 0;
|
||||||
final boolean virtualPreload = (scanFlags & SCAN_AS_VIRTUAL_PRELOAD) != 0;
|
final boolean virtualPreload = (scanFlags & SCAN_AS_VIRTUAL_PRELOAD) != 0;
|
||||||
|
|
||||||
|
// Flags contain system values stored in the server variant of AndroidPackage,
|
||||||
|
// and so the server-side PackageInfoUtils is still called, even without a
|
||||||
|
// PackageSetting to pass in.
|
||||||
|
int pkgFlags = PackageInfoUtils.appInfoFlags(parsedPackage, null);
|
||||||
|
int pkgPrivateFlags = PackageInfoUtils.appInfoPrivateFlags(parsedPackage, null);
|
||||||
|
|
||||||
// REMOVE SharedUserSetting from method; update in a separate call
|
// REMOVE SharedUserSetting from method; update in a separate call
|
||||||
pkgSetting = Settings.createNewSetting(parsedPackage.getPackageName(),
|
pkgSetting = Settings.createNewSetting(parsedPackage.getPackageName(),
|
||||||
originalPkgSetting, disabledPkgSetting, realPkgName, sharedUserSetting,
|
originalPkgSetting, disabledPkgSetting, realPkgName, sharedUserSetting,
|
||||||
destCodeFile, destResourceFile, parsedPackage.getNativeLibraryRootDir(),
|
destCodeFile, destResourceFile, parsedPackage.getNativeLibraryRootDir(),
|
||||||
AndroidPackageUtils.getRawPrimaryCpuAbi(parsedPackage),
|
AndroidPackageUtils.getRawPrimaryCpuAbi(parsedPackage),
|
||||||
AndroidPackageUtils.getRawSecondaryCpuAbi(parsedPackage),
|
AndroidPackageUtils.getRawSecondaryCpuAbi(parsedPackage),
|
||||||
parsedPackage.getVersionCode(),
|
parsedPackage.getVersionCode(), pkgFlags, pkgPrivateFlags, user,
|
||||||
PackageInfoWithoutStateUtils.appInfoFlags(parsedPackage),
|
true /*allowInstall*/, instantApp, virtualPreload,
|
||||||
PackageInfoWithoutStateUtils.appInfoPrivateFlags(parsedPackage),
|
UserManagerService.getInstance(), usesStaticLibraries,
|
||||||
user, true /*allowInstall*/, instantApp,
|
|
||||||
virtualPreload, UserManagerService.getInstance(), usesStaticLibraries,
|
|
||||||
parsedPackage.getUsesStaticLibrariesVersions(), parsedPackage.getMimeGroups());
|
parsedPackage.getUsesStaticLibrariesVersions(), parsedPackage.getMimeGroups());
|
||||||
} else {
|
} else {
|
||||||
// make a deep copy to avoid modifying any existing system state.
|
// make a deep copy to avoid modifying any existing system state.
|
||||||
|
|||||||
Reference in New Issue
Block a user