diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index c68eea8f35b93..ce3ef054b0ce1 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1227,16 +1227,19 @@ public final class SystemServer implements Dumpable { Watchdog.getInstance().resumeWatchingCurrentThread("packagemanagermain"); } + mFirstBoot = mPackageManagerService.isFirstBoot(); + mPackageManager = mSystemContext.getPackageManager(); + t.traceEnd(); + + t.traceBegin("DexUseManagerLocal"); // DexUseManagerLocal needs to be loaded after PackageManagerLocal has been registered, but // before PackageManagerService starts processing binder calls to notifyDexLoad. // DexUseManagerLocal may also call artd, so ensure ArtModuleServiceManager is instantiated. ArtModuleServiceInitializer.setArtModuleServiceManager(new ArtModuleServiceManager()); LocalManagerRegistry.addManager( DexUseManagerLocal.class, DexUseManagerLocal.createInstance()); - - mFirstBoot = mPackageManagerService.isFirstBoot(); - mPackageManager = mSystemContext.getPackageManager(); t.traceEnd(); + if (!mRuntimeRestart && !isFirstBootOrUpgrade()) { FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED, FrameworkStatsLog