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

Commit 0ebc2484 authored by Keun-young Park's avatar Keun-young Park Committed by Android (Google) Code Review
Browse files

Merge "pm: add delete-dexopt command"

parents 7b7dbdf9 9544bf7d
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -230,6 +230,8 @@ class PackageManagerShellCommand extends ShellCommand {
                    return runDexoptJob();
                case "cancel-bg-dexopt-job":
                    return cancelBgDexOptJob();
                case "delete-dexopt":
                    return runDeleteDexOpt();
                case "dump-profiles":
                    return runDumpProfiles();
                case "snapshot-profile":
@@ -1917,6 +1919,24 @@ class PackageManagerShellCommand extends ShellCommand {
        return 0;
    }

    private int runDeleteDexOpt() throws RemoteException {
        PrintWriter pw = getOutPrintWriter();
        String packageName = getNextArg();
        if (TextUtils.isEmpty(packageName)) {
            pw.println("Error: no package name");
            return 1;
        }
        long freedBytes = LocalServices.getService(
                PackageManagerInternal.class).deleteOatArtifactsOfPackage(packageName);
        if (freedBytes < 0) {
            pw.println("Error: delete failed");
            return 1;
        }
        pw.println("Success: freed " + freedBytes + " bytes");
        Slog.i(TAG, "delete-dexopt " + packageName + " ,freed " + freedBytes + " bytes");
        return 0;
    }

    private int runDumpProfiles() throws RemoteException {
        String packageName = getNextArg();
        mInterface.dumpProfiles(packageName);
@@ -4000,6 +4020,9 @@ class PackageManagerShellCommand extends ShellCommand {
        pw.println("  force-dex-opt PACKAGE");
        pw.println("    Force immediate execution of dex opt for the given PACKAGE.");
        pw.println("");
        pw.println("  delete-dexopt PACKAGE");
        pw.println("    Delete dex optimization results for the given PACKAGE.");
        pw.println("");
        pw.println("  bg-dexopt-job");
        pw.println("    Execute the background optimizations immediately.");
        pw.println("    Note that the command only runs the background optimizer logic. It may");