summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryawanng <yawanng@google.com>2020-07-28 23:34:54 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-08-14 00:04:32 +0000
commit3d725e8768c3333f33d3732b2d7920e7ae492420 (patch)
tree6f3f4bd523ac81bb3a89d452745b4920339aa894
parent28cdba4657097bc925406edbc86d35059b2e72c7 (diff)
downloadbase-3d725e8768c3333f33d3732b2d7920e7ae492420.tar.gz
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 (cherry picked from commit 9b4958afb079bc2907d62f1bba8ca11d22c6f2c5)
-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);
}
}