Remove flags for `deleteDexoptArtifacts` and `clearAppProfiles`.

So far, we haven't identified any specific use case of those flags.

Bug: 265387694
Test: atest ArtServiceTests
Ignore-AOSP-First: ART Services.
Change-Id: Ic174a1c9bd6e9e4acee2b747dbcc7f9122dc70cc
diff --git a/libartservice/service/api/system-server-current.txt b/libartservice/service/api/system-server-current.txt
index bd76173..31a56da 100644
--- a/libartservice/service/api/system-server-current.txt
+++ b/libartservice/service/api/system-server-current.txt
@@ -7,11 +7,9 @@
     method public void addDexoptDoneCallback(boolean, @NonNull java.util.concurrent.Executor, @NonNull com.android.server.art.ArtManagerLocal.DexoptDoneCallback);
     method public void cancelBackgroundDexoptJob();
     method @NonNull public void clearAppProfiles(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String);
-    method @NonNull public void clearAppProfiles(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, int);
     method public void clearBatchDexoptStartCallback();
     method public void clearScheduleBackgroundDexoptJobCallback();
     method @NonNull public com.android.server.art.model.DeleteResult deleteDexoptArtifacts(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String);
-    method @NonNull public com.android.server.art.model.DeleteResult deleteDexoptArtifacts(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, int);
     method @NonNull public com.android.server.art.model.DexoptResult dexoptPackage(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, @NonNull com.android.server.art.model.DexoptParams);
     method @NonNull public com.android.server.art.model.DexoptResult dexoptPackage(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, @NonNull com.android.server.art.model.DexoptParams, @NonNull android.os.CancellationSignal);
     method public void dump(@NonNull java.io.PrintWriter, @NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot);
@@ -78,8 +76,6 @@
 package com.android.server.art.model {
 
   public class ArtFlags {
-    method public static int defaultClearProfileFlags();
-    method public static int defaultDeleteFlags();
     method public static int defaultGetStatusFlags();
     field public static final int FLAG_FORCE = 16; // 0x10
     field public static final int FLAG_FOR_PRIMARY_DEX = 1; // 0x1
diff --git a/libartservice/service/java/com/android/server/art/ArtManagerLocal.java b/libartservice/service/java/com/android/server/art/ArtManagerLocal.java
index 4c34df2..864a26d 100644
--- a/libartservice/service/java/com/android/server/art/ArtManagerLocal.java
+++ b/libartservice/service/java/com/android/server/art/ArtManagerLocal.java
@@ -22,8 +22,6 @@
 import static com.android.server.art.ReasonMapping.BatchDexoptReason;
 import static com.android.server.art.ReasonMapping.BootReason;
 import static com.android.server.art.Utils.Abi;
-import static com.android.server.art.model.ArtFlags.ClearProfileFlags;
-import static com.android.server.art.model.ArtFlags.DeleteFlags;
 import static com.android.server.art.model.ArtFlags.GetStatusFlags;
 import static com.android.server.art.model.ArtFlags.ScheduleStatus;
 import static com.android.server.art.model.Config.Callback;
@@ -149,9 +147,8 @@
     }
 
     /**
-     * Deletes dexopt artifacts of a package.
-     *
-     * Uses the default flags ({@link ArtFlags#defaultDeleteFlags()}).
+     * Deletes dexopt artifacts of a package, including the artifacts for primary dex files and the
+     * ones for secondary dex files.
      *
      * @throws IllegalArgumentException if the package is not found or the flags are illegal
      * @throws IllegalStateException if the operation encounters an error that should never happen
@@ -160,51 +157,28 @@
     @NonNull
     public DeleteResult deleteDexoptArtifacts(
             @NonNull PackageManagerLocal.FilteredSnapshot snapshot, @NonNull String packageName) {
-        return deleteDexoptArtifacts(snapshot, packageName, ArtFlags.defaultDeleteFlags());
-    }
-
-    /**
-     * Same as above, but allows to specify flags.
-     *
-     * @see #deleteDexoptArtifacts(PackageManagerLocal.FilteredSnapshot, String)
-     */
-    @NonNull
-    public DeleteResult deleteDexoptArtifacts(
-            @NonNull PackageManagerLocal.FilteredSnapshot snapshot, @NonNull String packageName,
-            @DeleteFlags int flags) {
-        if ((flags & ArtFlags.FLAG_FOR_PRIMARY_DEX) == 0
-                && (flags & ArtFlags.FLAG_FOR_SECONDARY_DEX) == 0) {
-            throw new IllegalArgumentException("Nothing to delete");
-        }
-
         PackageState pkgState = Utils.getPackageStateOrThrow(snapshot, packageName);
         AndroidPackage pkg = Utils.getPackageOrThrow(pkgState);
 
         try {
             long freedBytes = 0;
 
-            if ((flags & ArtFlags.FLAG_FOR_PRIMARY_DEX) != 0) {
-                boolean isInDalvikCache = Utils.isInDalvikCache(pkgState);
-                for (PrimaryDexInfo dexInfo : PrimaryDexUtils.getDexInfo(pkg)) {
-                    if (!dexInfo.hasCode()) {
-                        continue;
-                    }
-                    for (Abi abi : Utils.getAllAbis(pkgState)) {
-                        freedBytes +=
-                                mInjector.getArtd().deleteArtifacts(AidlUtils.buildArtifactsPath(
-                                        dexInfo.dexPath(), abi.isa(), isInDalvikCache));
-                    }
+            boolean isInDalvikCache = Utils.isInDalvikCache(pkgState);
+            for (PrimaryDexInfo dexInfo : PrimaryDexUtils.getDexInfo(pkg)) {
+                if (!dexInfo.hasCode()) {
+                    continue;
+                }
+                for (Abi abi : Utils.getAllAbis(pkgState)) {
+                    freedBytes += mInjector.getArtd().deleteArtifacts(AidlUtils.buildArtifactsPath(
+                            dexInfo.dexPath(), abi.isa(), isInDalvikCache));
                 }
             }
 
-            if ((flags & ArtFlags.FLAG_FOR_SECONDARY_DEX) != 0) {
-                for (SecondaryDexInfo dexInfo :
-                        mInjector.getDexUseManager().getSecondaryDexInfo(packageName)) {
-                    for (Abi abi : Utils.getAllAbisForNames(dexInfo.abiNames(), pkgState)) {
-                        freedBytes +=
-                                mInjector.getArtd().deleteArtifacts(AidlUtils.buildArtifactsPath(
-                                        dexInfo.dexPath(), abi.isa(), false /* isInDalvikCache */));
-                    }
+            for (SecondaryDexInfo dexInfo :
+                    mInjector.getDexUseManager().getSecondaryDexInfo(packageName)) {
+                for (Abi abi : Utils.getAllAbisForNames(dexInfo.abiNames(), pkgState)) {
+                    freedBytes += mInjector.getArtd().deleteArtifacts(AidlUtils.buildArtifactsPath(
+                            dexInfo.dexPath(), abi.isa(), false /* isInDalvikCache */));
                 }
             }
 
@@ -298,12 +272,11 @@
     }
 
     /**
-     * Clears the profiles of the given app that are collected locally. More specifically, it clears
+     * Clears the profiles of the given app that are collected locally, including the profiles for
+     * primary dex files and the ones for secondary dex files. More specifically, it clears
      * reference profiles and current profiles. External profiles (e.g., cloud profiles) will be
      * kept.
      *
-     * Uses the default flags ({@link ArtFlags#defaultClearProfileFlags()}).
-     *
      * @throws IllegalArgumentException if the package is not found or the flags are illegal
      * @throws IllegalStateException if the operation encounters an error that should never happen
      *         (e.g., an internal logic error).
@@ -311,50 +284,30 @@
     @NonNull
     public void clearAppProfiles(
             @NonNull PackageManagerLocal.FilteredSnapshot snapshot, @NonNull String packageName) {
-        clearAppProfiles(snapshot, packageName, ArtFlags.defaultClearProfileFlags());
-    }
-
-    /**
-     * Same as above, but allows to specify flags.
-     *
-     * @see #clearAppProfiles(PackageManagerLocal.FilteredSnapshot, String)
-     */
-    @NonNull
-    public void clearAppProfiles(@NonNull PackageManagerLocal.FilteredSnapshot snapshot,
-            @NonNull String packageName, @ClearProfileFlags int flags) {
-        if ((flags & ArtFlags.FLAG_FOR_PRIMARY_DEX) == 0
-                && (flags & ArtFlags.FLAG_FOR_SECONDARY_DEX) == 0) {
-            throw new IllegalArgumentException("Nothing to clear");
-        }
-
         PackageState pkgState = Utils.getPackageStateOrThrow(snapshot, packageName);
         AndroidPackage pkg = Utils.getPackageOrThrow(pkgState);
 
         try {
-            if ((flags & ArtFlags.FLAG_FOR_PRIMARY_DEX) != 0) {
-                for (PrimaryDexInfo dexInfo : PrimaryDexUtils.getDexInfo(pkg)) {
-                    if (!dexInfo.hasCode()) {
-                        continue;
-                    }
-                    mInjector.getArtd().deleteProfile(
-                            PrimaryDexUtils.buildRefProfilePath(pkgState, dexInfo));
-                    for (ProfilePath profile : PrimaryDexUtils.getCurProfiles(
-                                 mInjector.getUserManager(), pkgState, dexInfo)) {
-                        mInjector.getArtd().deleteProfile(profile);
-                    }
+            for (PrimaryDexInfo dexInfo : PrimaryDexUtils.getDexInfo(pkg)) {
+                if (!dexInfo.hasCode()) {
+                    continue;
+                }
+                mInjector.getArtd().deleteProfile(
+                        PrimaryDexUtils.buildRefProfilePath(pkgState, dexInfo));
+                for (ProfilePath profile : PrimaryDexUtils.getCurProfiles(
+                             mInjector.getUserManager(), pkgState, dexInfo)) {
+                    mInjector.getArtd().deleteProfile(profile);
                 }
             }
 
-            if ((flags & ArtFlags.FLAG_FOR_SECONDARY_DEX) != 0) {
-                // This only deletes the profiles of known secondary dex files. If there are unknown
-                // secondary dex files, their profiles will be deleted by `cleanup`.
-                for (SecondaryDexInfo dexInfo :
-                        mInjector.getDexUseManager().getSecondaryDexInfo(packageName)) {
-                    mInjector.getArtd().deleteProfile(
-                            AidlUtils.buildProfilePathForSecondaryRef(dexInfo.dexPath()));
-                    mInjector.getArtd().deleteProfile(
-                            AidlUtils.buildProfilePathForSecondaryCur(dexInfo.dexPath()));
-                }
+            // This only deletes the profiles of known secondary dex files. If there are unknown
+            // secondary dex files, their profiles will be deleted by `cleanup`.
+            for (SecondaryDexInfo dexInfo :
+                    mInjector.getDexUseManager().getSecondaryDexInfo(packageName)) {
+                mInjector.getArtd().deleteProfile(
+                        AidlUtils.buildProfilePathForSecondaryRef(dexInfo.dexPath()));
+                mInjector.getArtd().deleteProfile(
+                        AidlUtils.buildProfilePathForSecondaryCur(dexInfo.dexPath()));
             }
         } catch (RemoteException e) {
             throw new IllegalStateException("An error occurred when calling artd", e);
diff --git a/libartservice/service/java/com/android/server/art/ArtShellCommand.java b/libartservice/service/java/com/android/server/art/ArtShellCommand.java
index 79d5edb..6fd1dc5 100644
--- a/libartservice/service/java/com/android/server/art/ArtShellCommand.java
+++ b/libartservice/service/java/com/android/server/art/ArtShellCommand.java
@@ -127,8 +127,8 @@
         String subcmd = getNextArgRequired();
         switch (subcmd) {
             case "delete-dexopt-artifacts": {
-                DeleteResult result = mArtManagerLocal.deleteDexoptArtifacts(
-                        snapshot, getNextArgRequired(), ArtFlags.defaultDeleteFlags());
+                DeleteResult result =
+                        mArtManagerLocal.deleteDexoptArtifacts(snapshot, getNextArgRequired());
                 pw.printf("Freed %d bytes\n", result.getFreedBytes());
                 return 0;
             }
diff --git a/libartservice/service/java/com/android/server/art/model/ArtFlags.java b/libartservice/service/java/com/android/server/art/model/ArtFlags.java
index aa8e53c..64ae807 100644
--- a/libartservice/service/java/com/android/server/art/model/ArtFlags.java
+++ b/libartservice/service/java/com/android/server/art/model/ArtFlags.java
@@ -72,31 +72,6 @@
 
     /**
      * Flags for {@link
-     * ArtManagerLocal#deleteDexoptArtifacts(PackageManagerLocal.FilteredSnapshot, String, int)}.
-     *
-     * @hide
-     */
-    // clang-format off
-    @IntDef(flag = true, prefix = "FLAG_", value = {
-        FLAG_FOR_PRIMARY_DEX,
-        FLAG_FOR_SECONDARY_DEX,
-    })
-    // clang-format on
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface DeleteFlags {}
-
-    /**
-     * Default flags that are used when {@link
-     * ArtManagerLocal#deleteDexoptArtifacts(PackageManagerLocal.FilteredSnapshot, String)} is
-     * called.
-     * Value: {@link #FLAG_FOR_PRIMARY_DEX}, {@link #FLAG_FOR_SECONDARY_DEX}.
-     */
-    public static @DeleteFlags int defaultDeleteFlags() {
-        return FLAG_FOR_PRIMARY_DEX | FLAG_FOR_SECONDARY_DEX;
-    }
-
-    /**
-     * Flags for {@link
      * ArtManagerLocal#getDexoptStatus(PackageManagerLocal.FilteredSnapshot, String, int)}.
      *
      * @hide
@@ -121,31 +96,6 @@
     }
 
     /**
-     * Flags for {@link
-     * ArtManagerLocal#clearAppProfiles(PackageManagerLocal.FilteredSnapshot, String, int)}.
-     *
-     * @hide
-     */
-    // clang-format off
-    @IntDef(flag = true, prefix = "FLAG_", value = {
-        FLAG_FOR_PRIMARY_DEX,
-        FLAG_FOR_SECONDARY_DEX,
-    })
-    // clang-format on
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface ClearProfileFlags {}
-
-    /**
-     * Default flags that are used when {@link
-     * ArtManagerLocal#getDexoptStatus(PackageManagerLocal.FilteredSnapshot, String)} is
-     * called.
-     * Value: {@link #FLAG_FOR_PRIMARY_DEX}, {@link #FLAG_FOR_SECONDARY_DEX}.
-     */
-    public static @ClearProfileFlags int defaultClearProfileFlags() {
-        return FLAG_FOR_PRIMARY_DEX | FLAG_FOR_SECONDARY_DEX;
-    }
-
-    /**
      * Flags for {@link DexoptParams}.
      *
      * @hide