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. Change-Id: Iae4fc0b6fc73707ada8895b38c3ae3f772ac2cd0
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user