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

Commit 2a0f9e6a authored by Narayan Kamath's avatar Narayan Kamath Committed by Gerrit Code Review
Browse files

Merge "Explicitly list out the list of cache subdirs to prune."

parents 989ab6d3 8df5bd08
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.util.Slog;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

public final class Installer {
    private static final String TAG = "Installer";
@@ -335,8 +336,8 @@ public final class Installer {
        }
    }

    public int pruneDexCache() {
        return execute("prunedexcache");
    public int pruneDexCache(String cacheSubDir) {
        return execute("prunedexcache " + cacheSubDir);
    }

    public int freeCache(long freeStorageSize) {
+9 −4
Original line number Diff line number Diff line
@@ -1437,9 +1437,6 @@ public class PackageManagerService extends IPackageManager.Stub {
                // changed. Consider this significant, and wipe away all other
                // existing dexopt files to ensure we don't leave any dangling around.
                //
                // Additionally, delete all dex files from the root directory
                // since there shouldn't be any there anyway.
                //
                // TODO: This should be revisited because it isn't as good an indicator
                // as it used to be. It used to include the boot classpath but at some point
                // DexFile.isDexOptNeeded started returning false for the boot
@@ -1447,7 +1444,15 @@ public class PackageManagerService extends IPackageManager.Stub {
                // small maintenance release update that the library and tool
                // jars may be unchanged but APK could be removed resulting in
                // unused dalvik-cache files.
                mInstaller.pruneDexCache();
                for (String instructionSet : instructionSets) {
                    mInstaller.pruneDexCache(instructionSet);
                }
                // Additionally, delete all dex files from the root directory
                // since there shouldn't be any there anyway, unless we're upgrading
                // from an older OS version or a build that contained the "old" style
                // flat scheme.
                mInstaller.pruneDexCache(".");
            }
            // Collect vendor overlay packages.