From 2578beccbeacd605728e018cf390c10cef72b48b Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Thu, 1 Sep 2016 18:38:53 -0700 Subject: [PATCH] Only show optimizing storage dialog if dex opt dialog was shown This doesn't take long, so there is little reason to show it if we didn't show the dex opt dialog. Bug: 29643498 Change-Id: I955f9dfa233166a8a150deb2d115a591e6d82394 --- .../java/com/android/server/pm/PackageManagerService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index baed6091f405..419e4ad19e71 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -538,6 +538,9 @@ public class PackageManagerService extends IPackageManager.Stub { final boolean mIsPreNUpgrade; final boolean mIsPreNMR1Upgrade; + @GuardedBy("mPackages") + private boolean mDexOptDialogShown; + /** The location for ASEC container files on internal storage. */ final String mAsecInternalPath; @@ -7150,7 +7153,11 @@ public class PackageManagerService extends IPackageManager.Stub { } } if (doTrim) { - if (!isFirstBoot()) { + final boolean dexOptDialogShown; + synchronized (mPackages) { + dexOptDialogShown = mDexOptDialogShown; + } + if (!isFirstBoot() && dexOptDialogShown) { try { ActivityManagerNative.getDefault().showBootMessage( mContext.getResources().getString( @@ -7244,6 +7251,9 @@ public class PackageManagerService extends IPackageManager.Stub { numberOfPackagesVisited, numberOfPackagesToDexopt), true); } catch (RemoteException e) { } + synchronized (mPackages) { + mDexOptDialogShown = true; + } } // If the OTA updates a system app which was previously preopted to a non-preopted state -- 2.11.0