Merge changes I52110b84,I15d10a19,I5f52b832,Ifbaceb47

am: 803648a957

Change-Id: I8e38dc0a07d8bee013e29e3433ae00d745748e97
This commit is contained in:
Andreas Gampe
2019-07-08 14:16:56 -07:00
committed by android-build-merger

View File

@@ -254,9 +254,16 @@ public class BackgroundDexOptService extends JobService {
@Override @Override
public void run() { public void run() {
int result = idleOptimization(pm, pkgs, BackgroundDexOptService.this); int result = idleOptimization(pm, pkgs, BackgroundDexOptService.this);
if (result != OPTIMIZE_ABORT_BY_JOB_SCHEDULER) { if (result == OPTIMIZE_PROCESSED) {
Log.i(TAG, "Idle optimizations completed.");
} else if (result == OPTIMIZE_ABORT_NO_SPACE_LEFT) {
Log.w(TAG, "Idle optimizations aborted because of space constraints."); Log.w(TAG, "Idle optimizations aborted because of space constraints.");
// If we didn't abort we ran to completion (or stopped because of space). } else if (result == OPTIMIZE_ABORT_BY_JOB_SCHEDULER) {
Log.w(TAG, "Idle optimizations aborted by job scheduler.");
} else {
Log.w(TAG, "Idle optimizations ended with unexpected code: " + result);
}
if (result != OPTIMIZE_ABORT_BY_JOB_SCHEDULER) {
// Abandon our timeslice and do not reschedule. // Abandon our timeslice and do not reschedule.
jobFinished(jobParams, /* reschedule */ false); jobFinished(jobParams, /* reschedule */ false);
} }
@@ -339,6 +346,7 @@ public class BackgroundDexOptService extends JobService {
long lowStorageThreshold, boolean isForPrimaryDex) { long lowStorageThreshold, boolean isForPrimaryDex) {
ArraySet<String> updatedPackages = new ArraySet<>(); ArraySet<String> updatedPackages = new ArraySet<>();
Set<String> unusedPackages = pm.getUnusedPackages(mDowngradeUnusedAppsThresholdInMillis); Set<String> unusedPackages = pm.getUnusedPackages(mDowngradeUnusedAppsThresholdInMillis);
boolean hadSomeLowSpaceFailure = false;
Log.d(TAG, "Unsused Packages " + String.join(",", unusedPackages)); Log.d(TAG, "Unsused Packages " + String.join(",", unusedPackages));
// Only downgrade apps when space is low on device. // Only downgrade apps when space is low on device.
// Threshold is selected above the lowStorageThreshold so that we can pro-actively clean // Threshold is selected above the lowStorageThreshold so that we can pro-actively clean
@@ -359,6 +367,7 @@ public class BackgroundDexOptService extends JobService {
} else { } else {
if (abort_code == OPTIMIZE_ABORT_NO_SPACE_LEFT) { if (abort_code == OPTIMIZE_ABORT_NO_SPACE_LEFT) {
// can't dexopt because of low space. // can't dexopt because of low space.
hadSomeLowSpaceFailure = true;
continue; continue;
} }
dex_opt_performed = optimizePackage(pm, pkg, isForPrimaryDex); dex_opt_performed = optimizePackage(pm, pkg, isForPrimaryDex);
@@ -369,7 +378,7 @@ public class BackgroundDexOptService extends JobService {
} }
notifyPinService(updatedPackages); notifyPinService(updatedPackages);
return OPTIMIZE_PROCESSED; return hadSomeLowSpaceFailure ? OPTIMIZE_ABORT_NO_SPACE_LEFT : OPTIMIZE_PROCESSED;
} }