Add missing null check

The new test fails without it, passes with it.

There's a few more unit tests on the builder missing here (and we're
missing a getter), but I'll wait till things are a little more stable.

Bug: 323513087
Test: atest MicrodroidTests
Change-Id: Ibd099ea5f959d24947ff0fbf2b530d0028f311a8
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
index e577f40..e8ef195 100644
--- a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -949,7 +949,8 @@
         @FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES")
         @NonNull
         public Builder setVendorDiskImage(@NonNull File vendorDiskImage) {
-            mVendorDiskImage = vendorDiskImage;
+            mVendorDiskImage =
+                    requireNonNull(vendorDiskImage, "vendor disk image must not be null");
             return this;
         }
 
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
index 3d83f40..85f2de5 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -543,6 +543,7 @@
         assertThrows(NullPointerException.class, () -> builder.setApkPath(null));
         assertThrows(NullPointerException.class, () -> builder.setPayloadConfigPath(null));
         assertThrows(NullPointerException.class, () -> builder.setPayloadBinaryName(null));
+        assertThrows(NullPointerException.class, () -> builder.setVendorDiskImage(null));
         assertThrows(NullPointerException.class, () -> builder.setOs(null));
 
         // Individual property checks.