diff options
| author | 2016-09-01 18:38:53 -0700 | |
|---|---|---|
| committer | 2016-09-01 18:44:53 -0700 | |
| commit | 2578beccbeacd605728e018cf390c10cef72b48b (patch) | |
| tree | 22e83535024ec2d81002445e53892fb52a89b461 | |
| parent | 031f79560f65499281bbb500c36e57724d7b514a (diff) | |
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
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 12 |
1 files changed, 11 insertions, 1 deletions
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 |