Store VM IDs in maintenance DB
Bug: 294177871
Test: virtualizationservice_test
Change-Id: I74bc7cef3102ca036dd9912f94abba1b4c26d4d5
diff --git a/virtualizationservice/src/maintenance.rs b/virtualizationservice/src/maintenance.rs
index 7fc2f37..0a367c5 100644
--- a/virtualizationservice/src/maintenance.rs
+++ b/virtualizationservice/src/maintenance.rs
@@ -15,7 +15,7 @@
use android_hardware_security_secretkeeper::aidl::android::hardware::security::secretkeeper::{
ISecretkeeper::ISecretkeeper, SecretId::SecretId,
};
-use anyhow::Result;
+use anyhow::{Context, Result};
use log::{error, info, warn};
mod vmdb;
@@ -88,6 +88,13 @@
}
}
+ /// Record a new VM ID.
+ pub fn add_id(&mut self, vm_id: &VmId, user_id: u32, app_id: u32) -> Result<()> {
+ let user_id: i32 = user_id.try_into().context(format!("user_id {user_id} out of range"))?;
+ let app_id: i32 = app_id.try_into().context(format!("app_id {app_id} out of range"))?;
+ self.vm_id_db.add_vm_id(vm_id, user_id, app_id)
+ }
+
/// Delete the VM IDs associated with Android user ID `user_id`.
pub fn delete_ids_for_user(&mut self, user_id: i32) -> Result<()> {
let vm_ids = self.vm_id_db.vm_ids_for_user(user_id)?;