1*795d594fSAndroid Build Coastguard Worker// Signature format: 2.0 2*795d594fSAndroid Build Coastguard Workerpackage com.android.server.art { 3*795d594fSAndroid Build Coastguard Worker 4*795d594fSAndroid Build Coastguard Worker @FlaggedApi("com.android.art.flags.art_service_v3") public final class ArtManagedInstallFileHelper { 5*795d594fSAndroid Build Coastguard Worker method @FlaggedApi("com.android.art.flags.art_service_v3") @NonNull public static java.util.List<java.lang.String> filterPathsForApk(@NonNull java.util.List<java.lang.String>, @NonNull String); 6*795d594fSAndroid Build Coastguard Worker method @FlaggedApi("com.android.art.flags.art_service_v3") @NonNull public static String getTargetPathForApk(@NonNull String, @NonNull String); 7*795d594fSAndroid Build Coastguard Worker method @FlaggedApi("com.android.art.flags.art_service_v3") public static boolean isArtManaged(@NonNull String); 8*795d594fSAndroid Build Coastguard Worker } 9*795d594fSAndroid Build Coastguard Worker 10*795d594fSAndroid Build Coastguard Worker public final class ArtManagerLocal { 11*795d594fSAndroid Build Coastguard Worker ctor @Deprecated public ArtManagerLocal(); 12*795d594fSAndroid Build Coastguard Worker ctor public ArtManagerLocal(@NonNull android.content.Context); 13*795d594fSAndroid Build Coastguard Worker method public void addDexoptDoneCallback(boolean, @NonNull java.util.concurrent.Executor, @NonNull com.android.server.art.ArtManagerLocal.DexoptDoneCallback); 14*795d594fSAndroid Build Coastguard Worker method public void cancelBackgroundDexoptJob(); 15*795d594fSAndroid Build Coastguard Worker method public void clearAdjustCompilerFilterCallback(); 16*795d594fSAndroid Build Coastguard Worker method @NonNull public void clearAppProfiles(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String); 17*795d594fSAndroid Build Coastguard Worker method public void clearBatchDexoptStartCallback(); 18*795d594fSAndroid Build Coastguard Worker method public void clearScheduleBackgroundDexoptJobCallback(); 19*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DeleteResult deleteDexoptArtifacts(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String); 20*795d594fSAndroid Build Coastguard Worker 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); 21*795d594fSAndroid Build Coastguard Worker 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); 22*795d594fSAndroid Build Coastguard Worker method public void dump(@NonNull java.io.PrintWriter, @NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot); 23*795d594fSAndroid Build Coastguard Worker method public void dumpPackage(@NonNull java.io.PrintWriter, @NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String); 24*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.ArtManagedFileStats getArtManagedFileStats(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String); 25*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptStatus getDexoptStatus(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String); 26*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptStatus getDexoptStatus(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, int); 27*795d594fSAndroid Build Coastguard Worker method public int handleShellCommand(@NonNull android.os.Binder, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]); 28*795d594fSAndroid Build Coastguard Worker method public void onApexStaged(@NonNull String[]); 29*795d594fSAndroid Build Coastguard Worker method public void onBoot(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<com.android.server.art.model.OperationProgress>); 30*795d594fSAndroid Build Coastguard Worker method public void printShellCommandHelp(@NonNull java.io.PrintWriter); 31*795d594fSAndroid Build Coastguard Worker method public void removeDexoptDoneCallback(@NonNull com.android.server.art.ArtManagerLocal.DexoptDoneCallback); 32*795d594fSAndroid Build Coastguard Worker method public int scheduleBackgroundDexoptJob(); 33*795d594fSAndroid Build Coastguard Worker method public void setAdjustCompilerFilterCallback(@NonNull java.util.concurrent.Executor, @NonNull com.android.server.art.ArtManagerLocal.AdjustCompilerFilterCallback); 34*795d594fSAndroid Build Coastguard Worker method public void setBatchDexoptStartCallback(@NonNull java.util.concurrent.Executor, @NonNull com.android.server.art.ArtManagerLocal.BatchDexoptStartCallback); 35*795d594fSAndroid Build Coastguard Worker method public void setScheduleBackgroundDexoptJobCallback(@NonNull java.util.concurrent.Executor, @NonNull com.android.server.art.ArtManagerLocal.ScheduleBackgroundDexoptJobCallback); 36*795d594fSAndroid Build Coastguard Worker method @NonNull public android.os.ParcelFileDescriptor snapshotAppProfile(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, @Nullable String) throws com.android.server.art.ArtManagerLocal.SnapshotProfileException; 37*795d594fSAndroid Build Coastguard Worker method @NonNull public android.os.ParcelFileDescriptor snapshotBootImageProfile(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot) throws com.android.server.art.ArtManagerLocal.SnapshotProfileException; 38*795d594fSAndroid Build Coastguard Worker method public void startBackgroundDexoptJob(); 39*795d594fSAndroid Build Coastguard Worker method public void unscheduleBackgroundDexoptJob(); 40*795d594fSAndroid Build Coastguard Worker } 41*795d594fSAndroid Build Coastguard Worker 42*795d594fSAndroid Build Coastguard Worker public static interface ArtManagerLocal.AdjustCompilerFilterCallback { 43*795d594fSAndroid Build Coastguard Worker method @NonNull public String onAdjustCompilerFilter(@NonNull String, @NonNull String, @NonNull String); 44*795d594fSAndroid Build Coastguard Worker } 45*795d594fSAndroid Build Coastguard Worker 46*795d594fSAndroid Build Coastguard Worker public static interface ArtManagerLocal.BatchDexoptStartCallback { 47*795d594fSAndroid Build Coastguard Worker method public void onBatchDexoptStart(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull com.android.server.art.model.BatchDexoptParams.Builder, @NonNull android.os.CancellationSignal); 48*795d594fSAndroid Build Coastguard Worker } 49*795d594fSAndroid Build Coastguard Worker 50*795d594fSAndroid Build Coastguard Worker public static interface ArtManagerLocal.DexoptDoneCallback { 51*795d594fSAndroid Build Coastguard Worker method public void onDexoptDone(@NonNull com.android.server.art.model.DexoptResult); 52*795d594fSAndroid Build Coastguard Worker } 53*795d594fSAndroid Build Coastguard Worker 54*795d594fSAndroid Build Coastguard Worker public static interface ArtManagerLocal.ScheduleBackgroundDexoptJobCallback { 55*795d594fSAndroid Build Coastguard Worker method public void onOverrideJobInfo(@NonNull android.app.job.JobInfo.Builder); 56*795d594fSAndroid Build Coastguard Worker } 57*795d594fSAndroid Build Coastguard Worker 58*795d594fSAndroid Build Coastguard Worker public static class ArtManagerLocal.SnapshotProfileException extends java.lang.Exception { 59*795d594fSAndroid Build Coastguard Worker } 60*795d594fSAndroid Build Coastguard Worker 61*795d594fSAndroid Build Coastguard Worker public class ArtModuleServiceInitializer { 62*795d594fSAndroid Build Coastguard Worker method public static void setArtModuleServiceManager(@NonNull android.os.ArtModuleServiceManager); 63*795d594fSAndroid Build Coastguard Worker } 64*795d594fSAndroid Build Coastguard Worker 65*795d594fSAndroid Build Coastguard Worker public class DexUseManagerLocal { 66*795d594fSAndroid Build Coastguard Worker method @NonNull public static com.android.server.art.DexUseManagerLocal createInstance(@NonNull android.content.Context); 67*795d594fSAndroid Build Coastguard Worker method @NonNull public java.util.List<com.android.server.art.model.DexContainerFileUseInfo> getSecondaryDexContainerFileUseInfo(@NonNull String); 68*795d594fSAndroid Build Coastguard Worker method public void notifyDexContainersLoaded(@NonNull com.android.server.pm.PackageManagerLocal.FilteredSnapshot, @NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.String>); 69*795d594fSAndroid Build Coastguard Worker method public void systemReady(); 70*795d594fSAndroid Build Coastguard Worker } 71*795d594fSAndroid Build Coastguard Worker 72*795d594fSAndroid Build Coastguard Worker public class ReasonMapping { 73*795d594fSAndroid Build Coastguard Worker field public static final String REASON_BG_DEXOPT = "bg-dexopt"; 74*795d594fSAndroid Build Coastguard Worker field public static final String REASON_BOOT_AFTER_MAINLINE_UPDATE = "boot-after-mainline-update"; 75*795d594fSAndroid Build Coastguard Worker field public static final String REASON_BOOT_AFTER_OTA = "boot-after-ota"; 76*795d594fSAndroid Build Coastguard Worker field public static final String REASON_CMDLINE = "cmdline"; 77*795d594fSAndroid Build Coastguard Worker field public static final String REASON_FIRST_BOOT = "first-boot"; 78*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INACTIVE = "inactive"; 79*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL = "install"; 80*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL_BULK = "install-bulk"; 81*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL_BULK_DOWNGRADED = "install-bulk-downgraded"; 82*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL_BULK_SECONDARY = "install-bulk-secondary"; 83*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = "install-bulk-secondary-downgraded"; 84*795d594fSAndroid Build Coastguard Worker field public static final String REASON_INSTALL_FAST = "install-fast"; 85*795d594fSAndroid Build Coastguard Worker field @FlaggedApi("com.android.art.flags.art_service_v3") public static final String REASON_PRE_REBOOT_DEXOPT = "ab-ota"; 86*795d594fSAndroid Build Coastguard Worker } 87*795d594fSAndroid Build Coastguard Worker 88*795d594fSAndroid Build Coastguard Worker} 89*795d594fSAndroid Build Coastguard Worker 90*795d594fSAndroid Build Coastguard Workerpackage com.android.server.art.model { 91*795d594fSAndroid Build Coastguard Worker 92*795d594fSAndroid Build Coastguard Worker public class ArtFlags { 93*795d594fSAndroid Build Coastguard Worker method public static int defaultGetStatusFlags(); 94*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_FORCE = 16; // 0x10 95*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_FOR_PRIMARY_DEX = 1; // 0x1 96*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_FOR_SECONDARY_DEX = 2; // 0x2 97*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_FOR_SINGLE_SPLIT = 32; // 0x20 98*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_IGNORE_PROFILE = 128; // 0x80 99*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_SHOULD_DOWNGRADE = 8; // 0x8 100*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_SHOULD_INCLUDE_DEPENDENCIES = 4; // 0x4 101*795d594fSAndroid Build Coastguard Worker field public static final int FLAG_SKIP_IF_STORAGE_LOW = 64; // 0x40 102*795d594fSAndroid Build Coastguard Worker field public static final int PRIORITY_BACKGROUND = 40; // 0x28 103*795d594fSAndroid Build Coastguard Worker field public static final int PRIORITY_BOOT = 100; // 0x64 104*795d594fSAndroid Build Coastguard Worker field public static final int PRIORITY_INTERACTIVE = 60; // 0x3c 105*795d594fSAndroid Build Coastguard Worker field public static final int PRIORITY_INTERACTIVE_FAST = 80; // 0x50 106*795d594fSAndroid Build Coastguard Worker field public static final int SCHEDULE_DISABLED_BY_SYSPROP = 2; // 0x2 107*795d594fSAndroid Build Coastguard Worker field public static final int SCHEDULE_JOB_SCHEDULER_FAILURE = 1; // 0x1 108*795d594fSAndroid Build Coastguard Worker field public static final int SCHEDULE_SUCCESS = 0; // 0x0 109*795d594fSAndroid Build Coastguard Worker } 110*795d594fSAndroid Build Coastguard Worker 111*795d594fSAndroid Build Coastguard Worker public class ArtManagedFileStats { 112*795d594fSAndroid Build Coastguard Worker method public long getTotalSizeBytesByType(int); 113*795d594fSAndroid Build Coastguard Worker field public static final int TYPE_CUR_PROFILE = 2; // 0x2 114*795d594fSAndroid Build Coastguard Worker field public static final int TYPE_DEXOPT_ARTIFACT = 0; // 0x0 115*795d594fSAndroid Build Coastguard Worker field public static final int TYPE_REF_PROFILE = 1; // 0x1 116*795d594fSAndroid Build Coastguard Worker } 117*795d594fSAndroid Build Coastguard Worker 118*795d594fSAndroid Build Coastguard Worker public abstract class BatchDexoptParams { 119*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract com.android.server.art.model.DexoptParams getDexoptParams(); 120*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.List<java.lang.String> getPackages(); 121*795d594fSAndroid Build Coastguard Worker } 122*795d594fSAndroid Build Coastguard Worker 123*795d594fSAndroid Build Coastguard Worker public static final class BatchDexoptParams.Builder { 124*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.BatchDexoptParams build(); 125*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.BatchDexoptParams.Builder setDexoptParams(@NonNull com.android.server.art.model.DexoptParams); 126*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.BatchDexoptParams.Builder setPackages(@NonNull java.util.List<java.lang.String>); 127*795d594fSAndroid Build Coastguard Worker } 128*795d594fSAndroid Build Coastguard Worker 129*795d594fSAndroid Build Coastguard Worker public abstract class DeleteResult { 130*795d594fSAndroid Build Coastguard Worker method public abstract long getFreedBytes(); 131*795d594fSAndroid Build Coastguard Worker } 132*795d594fSAndroid Build Coastguard Worker 133*795d594fSAndroid Build Coastguard Worker public abstract class DexContainerFileUseInfo { 134*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getDexContainerFile(); 135*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.Set<java.lang.String> getLoadingPackages(); 136*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract android.os.UserHandle getUserHandle(); 137*795d594fSAndroid Build Coastguard Worker } 138*795d594fSAndroid Build Coastguard Worker 139*795d594fSAndroid Build Coastguard Worker public class DexoptParams { 140*795d594fSAndroid Build Coastguard Worker method @NonNull public String getCompilerFilter(); 141*795d594fSAndroid Build Coastguard Worker method public int getFlags(); 142*795d594fSAndroid Build Coastguard Worker method public int getPriorityClass(); 143*795d594fSAndroid Build Coastguard Worker method @NonNull public String getReason(); 144*795d594fSAndroid Build Coastguard Worker method @Nullable public String getSplitName(); 145*795d594fSAndroid Build Coastguard Worker field public static final String COMPILER_FILTER_NOOP = "skip"; 146*795d594fSAndroid Build Coastguard Worker } 147*795d594fSAndroid Build Coastguard Worker 148*795d594fSAndroid Build Coastguard Worker public static final class DexoptParams.Builder { 149*795d594fSAndroid Build Coastguard Worker ctor public DexoptParams.Builder(@NonNull String); 150*795d594fSAndroid Build Coastguard Worker ctor public DexoptParams.Builder(@NonNull String, int); 151*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams build(); 152*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams.Builder setCompilerFilter(@NonNull String); 153*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams.Builder setFlags(int); 154*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams.Builder setFlags(int, int); 155*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams.Builder setPriorityClass(int); 156*795d594fSAndroid Build Coastguard Worker method @NonNull public com.android.server.art.model.DexoptParams.Builder setSplitName(@Nullable String); 157*795d594fSAndroid Build Coastguard Worker } 158*795d594fSAndroid Build Coastguard Worker 159*795d594fSAndroid Build Coastguard Worker public abstract class DexoptResult { 160*795d594fSAndroid Build Coastguard Worker method public int getFinalStatus(); 161*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.List<com.android.server.art.model.DexoptResult.PackageDexoptResult> getPackageDexoptResults(); 162*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getReason(); 163*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getRequestedCompilerFilter(); 164*795d594fSAndroid Build Coastguard Worker field public static final int DEXOPT_CANCELLED = 40; // 0x28 165*795d594fSAndroid Build Coastguard Worker field public static final int DEXOPT_FAILED = 30; // 0x1e 166*795d594fSAndroid Build Coastguard Worker field public static final int DEXOPT_PERFORMED = 20; // 0x14 167*795d594fSAndroid Build Coastguard Worker field public static final int DEXOPT_SKIPPED = 10; // 0xa 168*795d594fSAndroid Build Coastguard Worker field public static final int EXTENDED_BAD_EXTERNAL_PROFILE = 4; // 0x4 169*795d594fSAndroid Build Coastguard Worker field public static final int EXTENDED_SKIPPED_NO_DEX_CODE = 2; // 0x2 170*795d594fSAndroid Build Coastguard Worker field public static final int EXTENDED_SKIPPED_STORAGE_LOW = 1; // 0x1 171*795d594fSAndroid Build Coastguard Worker } 172*795d594fSAndroid Build Coastguard Worker 173*795d594fSAndroid Build Coastguard Worker public abstract static class DexoptResult.DexContainerFileDexoptResult { 174*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getAbi(); 175*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getActualCompilerFilter(); 176*795d594fSAndroid Build Coastguard Worker method public abstract long getDex2oatCpuTimeMillis(); 177*795d594fSAndroid Build Coastguard Worker method public abstract long getDex2oatWallTimeMillis(); 178*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getDexContainerFile(); 179*795d594fSAndroid Build Coastguard Worker method public abstract int getExtendedStatusFlags(); 180*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.List<java.lang.String> getExternalProfileErrors(); 181*795d594fSAndroid Build Coastguard Worker method public abstract long getSizeBeforeBytes(); 182*795d594fSAndroid Build Coastguard Worker method public abstract long getSizeBytes(); 183*795d594fSAndroid Build Coastguard Worker method public abstract int getStatus(); 184*795d594fSAndroid Build Coastguard Worker method public abstract boolean isPrimaryAbi(); 185*795d594fSAndroid Build Coastguard Worker } 186*795d594fSAndroid Build Coastguard Worker 187*795d594fSAndroid Build Coastguard Worker public abstract static class DexoptResult.PackageDexoptResult { 188*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.List<com.android.server.art.model.DexoptResult.DexContainerFileDexoptResult> getDexContainerFileDexoptResults(); 189*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getPackageName(); 190*795d594fSAndroid Build Coastguard Worker method public int getStatus(); 191*795d594fSAndroid Build Coastguard Worker method public boolean hasUpdatedArtifacts(); 192*795d594fSAndroid Build Coastguard Worker } 193*795d594fSAndroid Build Coastguard Worker 194*795d594fSAndroid Build Coastguard Worker public abstract class DexoptStatus { 195*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract java.util.List<com.android.server.art.model.DexoptStatus.DexContainerFileDexoptStatus> getDexContainerFileDexoptStatuses(); 196*795d594fSAndroid Build Coastguard Worker } 197*795d594fSAndroid Build Coastguard Worker 198*795d594fSAndroid Build Coastguard Worker public abstract static class DexoptStatus.DexContainerFileDexoptStatus { 199*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getAbi(); 200*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getCompilationReason(); 201*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getCompilerFilter(); 202*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getDexContainerFile(); 203*795d594fSAndroid Build Coastguard Worker method @NonNull public abstract String getLocationDebugString(); 204*795d594fSAndroid Build Coastguard Worker method public abstract boolean isPrimaryAbi(); 205*795d594fSAndroid Build Coastguard Worker method public abstract boolean isPrimaryDex(); 206*795d594fSAndroid Build Coastguard Worker } 207*795d594fSAndroid Build Coastguard Worker 208*795d594fSAndroid Build Coastguard Worker public abstract class OperationProgress { 209*795d594fSAndroid Build Coastguard Worker method public int getPercentage(); 210*795d594fSAndroid Build Coastguard Worker } 211*795d594fSAndroid Build Coastguard Worker 212*795d594fSAndroid Build Coastguard Worker} 213*795d594fSAndroid Build Coastguard Worker 214