summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorim Jaggi <jjaggi@google.com> 2016-09-01 18:38:53 -0700
committer Jorim Jaggi <jjaggi@google.com> 2016-09-01 18:44:53 -0700
commit2578beccbeacd605728e018cf390c10cef72b48b (patch)
tree22e83535024ec2d81002445e53892fb52a89b461
parent031f79560f65499281bbb500c36e57724d7b514a (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.java12
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