summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author yawanng <yawanng@google.com> 2020-07-28 23:34:54 +0000
committer Calin Juravle <calin@google.com> 2020-07-31 06:50:16 +0000
commit9b4958afb079bc2907d62f1bba8ca11d22c6f2c5 (patch)
tree29c84fd97964774c1de72d23affd9f5c3fa57d18
parentf46c693865c1e57fefd9d907b31f1a6d8017b990 (diff)
Notify IORap without including packages for secondary dex opt.
The current secondary dex opt doesn't distinct between opt performed and skipped, which causes unnecessary traces purge for IORap. Bug:161633001 Test: manually trigger bg-dexopt via 'adb shell cmd jobscheduler run -f android 800' and check the log. (cherry picked from commit ff800a363bbdec0eaac0960340689a20ebc9bf7a) Merged-In: Iae4fc0b6fc73707ada8895b38c3ae3f772ac2cd0 Change-Id: Iae4fc0b6fc73707ada8895b38c3ae3f772ac2cd0
-rw-r--r--services/core/java/com/android/server/pm/BackgroundDexOptService.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/BackgroundDexOptService.java b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
index 5415967c3bdc..d48570fa3b0f 100644
--- a/services/core/java/com/android/server/pm/BackgroundDexOptService.java
+++ b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
@@ -337,6 +337,7 @@ public class BackgroundDexOptService extends JobService {
private int idleOptimizePackages(PackageManagerService pm, ArraySet<String> pkgs,
long lowStorageThreshold) {
ArraySet<String> updatedPackages = new ArraySet<>();
+ ArraySet<String> updatedPackagesDueToSecondaryDex = new ArraySet<>();
try {
final boolean supportSecondaryDex = supportSecondaryDex();
@@ -391,11 +392,14 @@ public class BackgroundDexOptService extends JobService {
}
int secondaryResult = optimizePackages(pm, pkgs, lowStorageThreshold,
- /*isForPrimaryDex*/ false, updatedPackages);
+ /*isForPrimaryDex*/ false, updatedPackagesDueToSecondaryDex);
return secondaryResult;
} finally {
// Always let the pinner service know about changes.
notifyPinService(updatedPackages);
+ // Only notify IORap the primary dex opt, because we don't want to
+ // invalidate traces unnecessary due to b/161633001 and that it's
+ // better to have a trace than no trace at all.
notifyPackagesUpdated(updatedPackages);
}
}