Jiyong Park | 9b8253b | 2021-06-28 18:37:26 +0900 | [diff] [blame] | 1 | // Signature format: 2.0 |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 2 | package android.system.virtualmachine { |
| 3 | |
Nikita Ioffe | 9625489 | 2022-12-01 23:35:24 +0000 | [diff] [blame] | 4 | public class VirtualMachine implements java.lang.AutoCloseable { |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 5 | method @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public void enableTestAttestation() throws android.system.virtualmachine.VirtualMachineException; |
Jiyong Park | 92e3472 | 2023-06-27 00:43:39 +0900 | [diff] [blame] | 6 | method @NonNull @WorkerThread public java.io.OutputStream getConsoleInput() throws android.system.virtualmachine.VirtualMachineException; |
Nikita Ioffe | 9625489 | 2022-12-01 23:35:24 +0000 | [diff] [blame] | 7 | method @NonNull public java.io.File getRootDir(); |
| 8 | } |
| 9 | |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 10 | public final class VirtualMachineConfig { |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 11 | method @NonNull public java.util.List<java.lang.String> getExtraApks(); |
| 12 | method @NonNull public String getOs(); |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 13 | method @Nullable public String getPayloadConfigPath(); |
Jiyong Park | 92e3472 | 2023-06-27 00:43:39 +0900 | [diff] [blame] | 14 | method public boolean isVmConsoleInputSupported(); |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 15 | field public static final String MICRODROID = "microdroid"; |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 16 | } |
| 17 | |
| 18 | public static final class VirtualMachineConfig.Builder { |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 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); |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 21 | method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadConfigPath(@NonNull String); |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 22 | method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION) public android.system.virtualmachine.VirtualMachineConfig.Builder setVendorDiskImage(@NonNull java.io.File); |
Jiyong Park | 92e3472 | 2023-06-27 00:43:39 +0900 | [diff] [blame] | 23 | method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmConsoleInputSupported(boolean); |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 24 | } |
| 25 | |
Nikita Ioffe | f7c742a | 2023-09-04 16:57:59 +0100 | [diff] [blame] | 26 | public class VirtualMachineManager { |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 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"; |
Seungjae Yoo | a6589bd | 2024-06-11 10:14:07 +0900 | [diff] [blame] | 34 | field public static final String FEATURE_NETWORK = "com.android.kvm.NETWORK"; |
Nikita Ioffe | 07cee6b | 2024-10-25 14:43:57 +0000 | [diff] [blame] | 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"; |
Nikita Ioffe | f7c742a | 2023-09-04 16:57:59 +0100 | [diff] [blame] | 37 | } |
| 38 | |
Nikita Ioffe | 147eb6f | 2022-12-01 15:12:57 +0000 | [diff] [blame] | 39 | } |
| 40 | |