From 1dac03708e687564f0811a719f062e6ef791ba2d Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Sat, 24 Dec 2022 04:53:26 -0800 Subject: [PATCH] Gather known packages earlier during boot. So that permission service have most known packages ready at first reconciliation. Bug: 263504888 Test: presubmit Change-Id: Ibfa46c46a4529dee0fa88df9fe29e4119994bac7 --- .../android/server/pm/PackageManagerService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 7ab19ff84ad7c..e0246a49a84d8 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2079,6 +2079,14 @@ public class PackageManagerService implements PackageSender, TestUtilityService mInitAppsHelper.initNonSystemApps(packageParser, userIds, startTime); packageParser.close(); + mRequiredVerifierPackages = getRequiredButNotReallyRequiredVerifiersLPr(computer); + mRequiredInstallerPackage = getRequiredInstallerLPr(computer); + mRequiredUninstallerPackage = getRequiredUninstallerLPr(computer); + + // PermissionController hosts default permission granting and role management, so it's a + // critical part of the core system. + mRequiredPermissionControllerPackage = getRequiredPermissionControllerLPr(computer); + // Resolve the storage manager. mStorageManagerPackage = getStorageManagerPackageName(computer); @@ -2224,9 +2232,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_READY, SystemClock.uptimeMillis()); - mRequiredVerifierPackages = getRequiredButNotReallyRequiredVerifiersLPr(computer); - mRequiredInstallerPackage = getRequiredInstallerLPr(computer); - mRequiredUninstallerPackage = getRequiredUninstallerLPr(computer); ComponentName intentFilterVerifierComponent = getIntentFilterVerifierComponentNameLPr(computer); ComponentName domainVerificationAgent = @@ -2244,10 +2249,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService PackageManager.SYSTEM_SHARED_LIBRARY_SHARED, SharedLibraryInfo.VERSION_UNDEFINED); - // PermissionController hosts default permission granting and role management, so it's a - // critical part of the core system. - mRequiredPermissionControllerPackage = getRequiredPermissionControllerLPr(computer); - mSettings.setPermissionControllerVersion( computer.getPackageInfo(mRequiredPermissionControllerPackage, 0, UserHandle.USER_SYSTEM).getLongVersionCode());