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