blob: d20d54350deed013f1d2bd91a86d580f96b7c0a2 [file] [log] [blame]
Jiyong Park9b8253b2021-06-28 18:37:26 +09001// Signature format: 2.0
Nikita Ioffe147eb6f2022-12-01 15:12:57 +00002package android.system.virtualmachine {
3
Nikita Ioffe96254892022-12-01 23:35:24 +00004 public class VirtualMachine implements java.lang.AutoCloseable {
Nikita Ioffee3a049f2024-02-15 15:47:23 +00005 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public void enableTestAttestation() throws android.system.virtualmachine.VirtualMachineException;
Jiyong Park92e34722023-06-27 00:43:39 +09006 method @NonNull @WorkerThread public java.io.OutputStream getConsoleInput() throws android.system.virtualmachine.VirtualMachineException;
Nikita Ioffe96254892022-12-01 23:35:24 +00007 method @NonNull public java.io.File getRootDir();
8 }
9
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000010 public final class VirtualMachineConfig {
Nikita Ioffee3a049f2024-02-15 15:47:23 +000011 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull public java.util.List<java.lang.String> getExtraApks();
Inseob Kim89b24592024-02-23 18:59:43 +090012 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull public String getOs();
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000013 method @Nullable public String getPayloadConfigPath();
Jiyong Park92e34722023-06-27 00:43:39 +090014 method public boolean isVmConsoleInputSupported();
Inseob Kim89b24592024-02-23 18:59:43 +090015 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String MICRODROID = "microdroid";
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000016 }
17
18 public static final class VirtualMachineConfig.Builder {
Nikita Ioffee3a049f2024-02-15 15:47:23 +000019 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder addExtraApk(@NonNull String);
Alan Stokes736f6822024-02-16 16:08:00 +000020 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setOs(@NonNull String);
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000021 method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadConfigPath(@NonNull String);
Nikita Ioffee3a049f2024-02-15 15:47:23 +000022 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setVendorDiskImage(@NonNull java.io.File);
Jiyong Park92e34722023-06-27 00:43:39 +090023 method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmConsoleInputSupported(boolean);
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000024 }
25
Nikita Ioffef7c742a2023-09-04 16:57:59 +010026 public class VirtualMachineManager {
Nikita Ioffee3a049f2024-02-15 15:47:23 +000027 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @NonNull public java.util.List<java.lang.String> getSupportedOSList() throws android.system.virtualmachine.VirtualMachineException;
28 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isFeatureEnabled(String) throws android.system.virtualmachine.VirtualMachineException;
Alice Wang0362f7f2024-03-21 08:16:26 +000029 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isRemoteAttestationSupported() throws android.system.virtualmachine.VirtualMachineException;
Shikha Panwar7aef66d2024-03-13 00:28:41 +000030 method @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isUpdatableVmSupported() throws android.system.virtualmachine.VirtualMachineException;
Nikita Ioffee3a049f2024-02-15 15:47:23 +000031 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String FEATURE_DICE_CHANGES = "com.android.kvm.DICE_CHANGES";
Shikha Panwarc204f212024-02-15 14:45:30 +000032 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String FEATURE_LLPVM_CHANGES = "com.android.kvm.LLPVM_CHANGES";
Nikita Ioffee3a049f2024-02-15 15:47:23 +000033 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String FEATURE_MULTI_TENANT = "com.android.kvm.MULTI_TENANT";
34 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String FEATURE_REMOTE_ATTESTATION = "com.android.kvm.REMOTE_ATTESTATION";
35 field @FlaggedApi("com.android.system.virtualmachine.flags.avf_v_test_apis") public static final String FEATURE_VENDOR_MODULES = "com.android.kvm.VENDOR_MODULES";
Nikita Ioffef7c742a2023-09-04 16:57:59 +010036 }
37
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000038}
39