diff options
| -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 |