blob: 34837a3dced4a690f1ed86f276fd48bfe5ddb56c [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 {
Jiyong Park92e34722023-06-27 00:43:39 +09005 method @NonNull @WorkerThread public java.io.OutputStream getConsoleInput() throws android.system.virtualmachine.VirtualMachineException;
Nikita Ioffe96254892022-12-01 23:35:24 +00006 method @NonNull public java.io.File getRootDir();
7 }
8
Nikita Ioffe147eb6f2022-12-01 15:12:57 +00009 public final class VirtualMachineConfig {
Inseob Kim46257382024-01-03 15:41:22 +090010 method @FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES") @NonNull public String getOs();
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000011 method @Nullable public String getPayloadConfigPath();
Jiyong Park92e34722023-06-27 00:43:39 +090012 method public boolean isVmConsoleInputSupported();
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000013 }
14
15 public static final class VirtualMachineConfig.Builder {
Inseob Kim46257382024-01-03 15:41:22 +090016 method @FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES") @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setOs(@NonNull String);
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000017 method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadConfigPath(@NonNull String);
Nikita Ioffe631717e2023-09-05 13:38:07 +010018 method @FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES") @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 +090019 method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmConsoleInputSupported(boolean);
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000020 }
21
Nikita Ioffef7c742a2023-09-04 16:57:59 +010022 public class VirtualMachineManager {
Inseob Kim46257382024-01-03 15:41:22 +090023 method @FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES") @NonNull public java.util.List<java.lang.String> getSupportedOSList() throws android.system.virtualmachine.VirtualMachineException;
Nikita Ioffef7c742a2023-09-04 16:57:59 +010024 method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) public boolean isFeatureEnabled(String) throws android.system.virtualmachine.VirtualMachineException;
Alan Stokes7f27c0d2023-09-07 16:22:58 +010025 field public static final String FEATURE_DICE_CHANGES = "com.android.kvm.DICE_CHANGES";
Alan Stokes27f3ef02023-09-29 15:09:35 +010026 field public static final String FEATURE_MULTI_TENANT = "com.android.kvm.MULTI_TENANT";
Nikita Ioffe631717e2023-09-05 13:38:07 +010027 field public static final String FEATURE_VENDOR_MODULES = "com.android.kvm.VENDOR_MODULES";
Nikita Ioffef7c742a2023-09-04 16:57:59 +010028 }
29
Nikita Ioffe147eb6f2022-12-01 15:12:57 +000030}
31