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;
     }