diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index a0238fb07e5ef..6fce36be43ab0 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -437,10 +437,9 @@ interface IPackageManager { void performFstrimIfNeeded(); /** - * Ask the package manager to extract packages if needed, to save - * the VM unzipping the APK in memory during launch. + * Ask the package manager to update packages if needed. */ - void extractPackagesIfNeeded(); + void updatePackagesIfNeeded(); /** * Notify the package manager that a package is going to be used. diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index ec710d64f89b4..78bfc74c404d0 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -6932,8 +6932,8 @@ public class PackageManagerService extends IPackageManager.Stub { } @Override - public void extractPackagesIfNeeded() { - enforceSystemOrRoot("Only the system can request package extraction"); + public void updatePackagesIfNeeded() { + enforceSystemOrRoot("Only the system can request package update"); // We need to re-extract after an OTA. boolean causeUpgrade = isUpgrade(); @@ -6964,15 +6964,6 @@ public class PackageManagerService extends IPackageManager.Stub { Log.i(TAG, "Extracting app " + curr + " of " + total + ": " + pkg.packageName); } - if (!isFirstBoot()) { - try { - ActivityManagerNative.getDefault().showBootMessage( - mContext.getResources().getString(R.string.android_upgrading_apk, - curr, total), true); - } catch (RemoteException e) { - } - } - if (PackageDexOptimizer.canOptimizePackage(pkg)) { // If the cache was pruned, any compiled odex files will likely be out of date // and would have to be patched (would be SELF_PATCHOAT, which is deprecated). diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 0a4effb262498..7b44f98e6d1a9 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -697,6 +697,14 @@ public final class SystemServer { // as appropriate. mSystemServiceManager.startService(UiModeManagerService.class); + Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "UpdatePackagesIfNeeded"); + try { + mPackageManagerService.updatePackagesIfNeeded(); + } catch (Throwable e) { + reportWtf("update packages", e); + } + Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); + Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "PerformFstrimIfNeeded"); try { mPackageManagerService.performFstrimIfNeeded(); @@ -705,14 +713,6 @@ public final class SystemServer { } Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); - Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "ExtractPackagesIfNeeded"); - try { - mPackageManagerService.extractPackagesIfNeeded(); - } catch (Throwable e) { - reportWtf("extract packages", e); - } - Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); - try { ActivityManagerNative.getDefault().showBootMessage( context.getResources().getText(