Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d32fefa authored by Andreas Gampe's avatar Andreas Gampe Committed by android-build-merger
Browse files

Merge changes I52110b84,I15d10a19,I5f52b832,Ifbaceb47 am: 803648a9 am: d89768f5

am: 8413d304

Change-Id: I3ee94f84d340c56b15dac6d8e0aa419c9fc41a64
parents e270b113 8413d304
Loading
Loading
Loading
Loading
+12 −3
Original line number Original line Diff line number Diff line
@@ -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;
    }
    }