1// Signature format: 2.0
2package android.system.virtualmachine {
3
4  public class VirtualMachine implements java.lang.AutoCloseable {
5    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public void enableTestAttestation() throws android.system.virtualmachine.VirtualMachineException;
6    method @NonNull @WorkerThread public java.io.OutputStream getConsoleInput() throws android.system.virtualmachine.VirtualMachineException;
7    method @NonNull public java.io.File getRootDir();
8  }
9
10  public final class VirtualMachineConfig {
11    method @NonNull public java.util.List<java.lang.String> getExtraApks();
12    method @NonNull public String getOs();
13    method @Nullable public String getPayloadConfigPath();
14    method public boolean isVmConsoleInputSupported();
15    field public static final String MICRODROID = "microdroid";
16  }
17
18  public static final class VirtualMachineConfig.Builder {
19    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder addExtraApk(@NonNull String);
20    method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setOs(@NonNull String);
21    method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadConfigPath(@NonNull String);
22    method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setVendorDiskImage(@NonNull java.io.File);
23    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmConsoleInputSupported(boolean);
24  }
25
26  public class VirtualMachineManager {
27    method @NonNull public java.util.List<java.lang.String> getSupportedOSList() throws android.system.virtualmachine.VirtualMachineException;
28    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isFeatureEnabled(String) throws android.system.virtualmachine.VirtualMachineException;
29    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isRemoteAttestationSupported() throws android.system.virtualmachine.VirtualMachineException;
30    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isUpdatableVmSupported() throws android.system.virtualmachine.VirtualMachineException;
31    field public static final String FEATURE_DICE_CHANGES = "com.android.kvm.DICE_CHANGES";
32    field public static final String FEATURE_LLPVM_CHANGES = "com.android.kvm.LLPVM_CHANGES";
33    field public static final String FEATURE_MULTI_TENANT = "com.android.kvm.MULTI_TENANT";
34    field public static final String FEATURE_NETWORK = "com.android.kvm.NETWORK";
35    field public static final String FEATURE_REMOTE_ATTESTATION = "com.android.kvm.REMOTE_ATTESTATION";
36    field public static final String FEATURE_VENDOR_MODULES = "com.android.kvm.VENDOR_MODULES";
37  }
38
39}
40
41