Initialize AppHibernationService before ArtManagerLocal.

ArtManagerLocal depends on it, and in particular it may be needed when
PackageManagerService.updatePackagesIfNeeded runs, to skip hibernated
packages.

This also moves AppHibernationService out of the block that only gets
initialised when mFactoryTestMode !=
FactoryTest.FACTORY_TEST_LOW_LEVEL, which is necessary since
ArtManagerLocal is initialised outside that condition.

Test: Boot and execute REASON_FIRST_BOOT
Bug: 265782156
Change-Id: Ic76cb4d5301ab67d62f7802936298b3175496640
This commit is contained in:
Martin Stjernholm
2023-03-10 21:30:16 +00:00
parent 01d61c389a
commit 450864368b

View File

@@ -1793,6 +1793,10 @@ public final class SystemServer implements Dumpable {
}
t.traceEnd();
t.traceBegin("StartAppHibernationService");
mSystemServiceManager.startService(APP_HIBERNATION_SERVICE_CLASS);
t.traceEnd();
t.traceBegin("ArtManagerLocal");
DexOptHelper.initializeArtManagerLocal(context, mPackageManagerService);
t.traceEnd();
@@ -2314,10 +2318,6 @@ public final class SystemServer implements Dumpable {
mSystemServiceManager.startService(VOICE_RECOGNITION_MANAGER_SERVICE_CLASS);
t.traceEnd();
t.traceBegin("StartAppHibernationService");
mSystemServiceManager.startService(APP_HIBERNATION_SERVICE_CLASS);
t.traceEnd();
if (GestureLauncherService.isGestureLauncherEnabled(context.getResources())) {
t.traceBegin("StartGestureLauncher");
mSystemServiceManager.startService(GestureLauncherService.class);