diff --git a/services/core/java/com/android/server/pm/DexOptHelper.java b/services/core/java/com/android/server/pm/DexOptHelper.java index 1ee0b837c0062..adb50848ba90a 100644 --- a/services/core/java/com/android/server/pm/DexOptHelper.java +++ b/services/core/java/com/android/server/pm/DexOptHelper.java @@ -40,7 +40,6 @@ import android.Manifest; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; -import android.app.ActivityManager; import android.app.AppGlobals; import android.content.Context; import android.content.Intent; @@ -59,8 +58,6 @@ import android.util.ArraySet; import android.util.Log; import android.util.Slog; -import com.android.internal.R; -import com.android.internal.annotations.GuardedBy; import com.android.internal.logging.MetricsLogger; import com.android.server.LocalManagerRegistry; import com.android.server.art.ArtManagerLocal; @@ -99,18 +96,6 @@ public final class DexOptHelper { private final PackageManagerService mPm; - public boolean isDexOptDialogShown() { - synchronized (mLock) { - return mDexOptDialogShown; - } - } - - // TODO: Is this lock really necessary? - private final Object mLock = new Object(); - - @GuardedBy("mLock") - private boolean mDexOptDialogShown; - DexOptHelper(PackageManagerService pm) { mPm = pm; } @@ -128,7 +113,7 @@ public final class DexOptHelper { * which are (in order) {@code numberOfPackagesOptimized}, {@code numberOfPackagesSkipped} * and {@code numberOfPackagesFailed}. */ - public int[] performDexOptUpgrade(List packageStates, boolean showDialog, + public int[] performDexOptUpgrade(List packageStates, final int compilationReason, boolean bootComplete) throws LegacyDexoptDisabledException { Installer.checkLegacyDexoptDisabled(); @@ -220,18 +205,6 @@ public final class DexOptHelper { + numberOfPackagesToDexopt + ": " + pkg.getPackageName()); } - if (showDialog) { - try { - ActivityManager.getService().showBootMessage( - mPm.mContext.getResources().getString(R.string.android_upgrading_apk, - numberOfPackagesVisited, numberOfPackagesToDexopt), true); - } catch (RemoteException e) { - } - synchronized (mLock) { - mDexOptDialogShown = true; - } - } - int pkgCompilationReason = compilationReason; if (useProfileForDexopt) { // Use background dexopt mode to try and use the profile. Note that this does not @@ -364,9 +337,7 @@ public final class DexOptHelper { boolean causeUpgrade = mPm.isDeviceUpgrading(); // First boot or factory reset. - // Note: we also handle devices that are upgrading to N right now as if it is their - // first boot, as they do not have profile data. - boolean causeFirstBoot = mPm.isFirstBoot() || mPm.isPreNUpgrade(); + boolean causeFirstBoot = mPm.isFirstBoot(); if (!causeUpgrade && !causeFirstBoot) { return; @@ -377,7 +348,7 @@ public final class DexOptHelper { getPackagesForDexopt(snapshot.getPackageStates().values(), mPm); final long startTime = System.nanoTime(); - final int[] stats = performDexOptUpgrade(pkgSettings, mPm.isPreNUpgrade() /* showDialog */, + final int[] stats = performDexOptUpgrade(pkgSettings, causeFirstBoot ? REASON_FIRST_BOOT : REASON_BOOT_AFTER_OTA, false /* bootComplete */); diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 5b42a0be6b58e..82fc91261487b 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -588,7 +588,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService private final int mDefParseFlags; private final String[] mSeparateProcesses; private final boolean mIsUpgrade; - private final boolean mIsPreNUpgrade; private final boolean mIsPreNMR1Upgrade; private final boolean mIsPreQUpgrade; @@ -1734,7 +1733,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService mInstantAppResolverConnection = testParams.instantAppResolverConnection; mInstantAppResolverSettingsComponent = testParams.instantAppResolverSettingsComponent; mIsPreNMR1Upgrade = testParams.isPreNmr1Upgrade; - mIsPreNUpgrade = testParams.isPreNupgrade; mIsPreQUpgrade = testParams.isPreQupgrade; mIsUpgrade = testParams.isUpgrade; mMetrics = testParams.Metrics; @@ -2069,10 +2067,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService mPromoteSystemApps = mIsUpgrade && ver.sdkVersion <= Build.VERSION_CODES.LOLLIPOP_MR1; - // When upgrading from pre-N, we need to handle package extraction like first boot, - // as there is no profiling data available. - mIsPreNUpgrade = mIsUpgrade && ver.sdkVersion < Build.VERSION_CODES.N; - mIsPreNMR1Upgrade = mIsUpgrade && ver.sdkVersion < Build.VERSION_CODES.N_MR1; mIsPreQUpgrade = mIsUpgrade && ver.sdkVersion < Build.VERSION_CODES.Q; @@ -2954,13 +2948,12 @@ public class PackageManagerService implements PackageSender, TestUtilityService } if (doTrim) { if (!isFirstBoot()) { - if (mDexOptHelper.isDexOptDialogShown()) { - try { - ActivityManager.getService().showBootMessage( - mContext.getResources().getString( - R.string.android_upgrading_fstrim), true); - } catch (RemoteException e) { - } + try { + ActivityManager.getService().showBootMessage( + mContext.getResources().getString( + R.string.android_upgrading_fstrim), + true); + } catch (RemoteException e) { } } sm.runMaintenance(); @@ -7495,10 +7488,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService return mPlatformPackage; } - boolean isPreNUpgrade() { - return mIsPreNUpgrade; - } - boolean isPreNMR1Upgrade() { return mIsPreNMR1Upgrade; } diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceTestParams.java b/services/core/java/com/android/server/pm/PackageManagerServiceTestParams.java index 08ff51d0f1abe..e5cfa671a930d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerServiceTestParams.java +++ b/services/core/java/com/android/server/pm/PackageManagerServiceTestParams.java @@ -63,7 +63,6 @@ public final class PackageManagerServiceTestParams { public InstantAppResolverConnection instantAppResolverConnection; public ComponentName instantAppResolverSettingsComponent; public boolean isPreNmr1Upgrade; - public boolean isPreNupgrade; public boolean isPreQupgrade; public boolean isUpgrade; public LegacyPermissionManagerInternal legacyPermissionManagerInternal;