Expose encryptedstore feature to system apps

This patch adds 2 api functions: set/get EncryptedStorageKib &
isEncryptedStorageEnabled() which can be used to specify the size of
storage required. VirtualMachine, on being initialized, will create the
backing (empty) file if storageSize > 0.

The (storage) allocation happens when VirtualMachine.create() is called:
by using VS' initializeWritablePartition() called over binder.

Test that EncryptedStore is available & accessible -
encryptedStorageAvailable() is a device test which uses these system
apis to enable encrypted storage in VM. It then verifies that the native
api(getEncryptedStoragePath()) inside VM indeed returns the right mount
point, hence verifying both the ends of the encryptedstore infra :)

Test: atest MicrodroidTests#encryptedStorageAvailable
Bug: 254454175
Bug: 260084116
Change-Id: I4842ebac6af795beaf250525252087545895b231
diff --git a/javalib/api/system-current.txt b/javalib/api/system-current.txt
index f38d8fd..a907f7d 100644
--- a/javalib/api/system-current.txt
+++ b/javalib/api/system-current.txt
@@ -58,10 +58,12 @@
   public final class VirtualMachineConfig {
     method @NonNull public String getApkPath();
     method @NonNull public int getDebugLevel();
+    method @IntRange(from=0) public long getEncryptedStorageKib();
     method @IntRange(from=0) public int getMemoryMib();
     method @IntRange(from=1) public int getNumCpus();
     method @Nullable public String getPayloadBinaryPath();
     method public boolean isCompatibleWith(@NonNull android.system.virtualmachine.VirtualMachineConfig);
+    method public boolean isEncryptedStorageEnabled();
     method public boolean isProtectedVm();
     field public static final int DEBUG_LEVEL_APP_ONLY = 1; // 0x1
     field public static final int DEBUG_LEVEL_FULL = 2; // 0x2
@@ -73,6 +75,7 @@
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig build();
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setApkPath(@NonNull String);
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setDebugLevel(int);
+    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setEncryptedStorageKib(@IntRange(from=0) long);
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setMemoryMib(@IntRange(from=0) int);
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setNumCpus(@IntRange(from=1) int);
     method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadBinaryPath(@NonNull String);