commit | 7d9c44b621098433666622fec3243a2c3c0e3f92 | [log] [tgz] |
---|---|---|
author | A. Cody Schuffelen <schuffelen@google.com> | Thu May 09 22:15:11 2024 -0700 |
committer | A. Cody Schuffelen <schuffelen@google.com> | Thu May 09 22:25:23 2024 -0700 |
tree | 808943eafad97a3dcbf411cb0d0801cc2e43c073 | |
parent | 37011a12d04315c2289524eca1918ff856419be6 [diff] |
Allow `null` kernels in VirtualMachineConfig The lower-level rust code considers the kernel and bootloader values to be mutually exclusive: https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/Virtualization/libs/vmconfig/src/lib.rs;l=48;drc=d3bbe1d51c78ac07c61f2125232e558eb56a6ae0 https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/Virtualization/libs/vmconfig/src/lib.rs;l=78;drc=d3bbe1d51c78ac07c61f2125232e558eb56a6ae0 This change fixes the java code so it doesn't mandate that a kernel is provided. Test: Run with a bootloader (aosp/3080508) Bug: b/325930313 Change-Id: Ie60a211e48b63655dde1b98c1e43a82de472c8ae
diff --git a/java/framework/src/android/system/virtualmachine/VirtualMachineConfig.java b/java/framework/src/android/system/virtualmachine/VirtualMachineConfig.java index a8f318c..1b915cd 100644 --- a/java/framework/src/android/system/virtualmachine/VirtualMachineConfig.java +++ b/java/framework/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -601,7 +601,7 @@ config.name = Optional.ofNullable(customImageConfig.getName()).orElse(""); config.instanceId = new byte[64]; config.kernel = - Optional.of(customImageConfig.getKernelPath()) + Optional.ofNullable(customImageConfig.getKernelPath()) .map( (path) -> { try {
diff --git a/java/framework/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java b/java/framework/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java index 8d294fd..8ec9d2c 100644 --- a/java/framework/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java +++ b/java/framework/src/android/system/virtualmachine/VirtualMachineCustomImageConfig.java
@@ -16,7 +16,6 @@ package android.system.virtualmachine; -import android.annotation.NonNull; import android.annotation.Nullable; import android.os.PersistableBundle; @@ -38,7 +37,7 @@ private static final String KEY_KEYBOARD = "keyboard"; @Nullable private final String name; - @NonNull private final String kernelPath; + @Nullable private final String kernelPath; @Nullable private final String initrdPath; @Nullable private final String bootloaderPath; @Nullable private final String[] params; @@ -62,7 +61,7 @@ return initrdPath; } - @NonNull + @Nullable public String getKernelPath() { return kernelPath; }