Merge "Notify IORap without including packages for secondary dex opt." into rvc-dev

This commit is contained in:
Calin Juravle
2020-08-06 19:08:29 +00:00
committed by Android (Google) Code Review

View File

@@ -337,6 +337,7 @@ public class BackgroundDexOptService extends JobService {
private int idleOptimizePackages(PackageManagerService pm, ArraySet<String> pkgs, private int idleOptimizePackages(PackageManagerService pm, ArraySet<String> pkgs,
long lowStorageThreshold) { long lowStorageThreshold) {
ArraySet<String> updatedPackages = new ArraySet<>(); ArraySet<String> updatedPackages = new ArraySet<>();
ArraySet<String> updatedPackagesDueToSecondaryDex = new ArraySet<>();
try { try {
final boolean supportSecondaryDex = supportSecondaryDex(); final boolean supportSecondaryDex = supportSecondaryDex();
@@ -391,11 +392,14 @@ public class BackgroundDexOptService extends JobService {
} }
int secondaryResult = optimizePackages(pm, pkgs, lowStorageThreshold, int secondaryResult = optimizePackages(pm, pkgs, lowStorageThreshold,
/*isForPrimaryDex*/ false, updatedPackages); /*isForPrimaryDex*/ false, updatedPackagesDueToSecondaryDex);
return secondaryResult; return secondaryResult;
} finally { } finally {
// Always let the pinner service know about changes. // Always let the pinner service know about changes.
notifyPinService(updatedPackages); 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); notifyPackagesUpdated(updatedPackages);
} }
} }