Use new method/field to get StagedApexInfo[]
This reduces the calls to the heavy operation
(IApexService.getStagedApexInfos) a lot.
Bug: 370712193
Test: Presubmit
Change-Id: Ie67b468b1b7474ae88da144b7c4ba1072810e8f5
diff --git a/android/virtmgr/src/payload.rs b/android/virtmgr/src/payload.rs
index 81e02b7..5811314 100644
--- a/android/virtmgr/src/payload.rs
+++ b/android/virtmgr/src/payload.rs
@@ -178,14 +178,9 @@
let pm =
wait_for_interface::<dyn IPackageManagerNative>(PACKAGE_MANAGER_NATIVE_SERVICE)
.context("Failed to get service when prefer_staged is set.")?;
- let staged =
- pm.getStagedApexModuleNames().context("getStagedApexModuleNames failed")?;
- for name in staged {
- if let Some(staged_apex_info) =
- pm.getStagedApexInfo(&name).context("getStagedApexInfo failed")?
- {
- list.override_staged_apex(&staged_apex_info)?;
- }
+ let staged = pm.getStagedApexInfos().context("getStagedApexInfos failed")?;
+ for apex in staged {
+ list.override_staged_apex(&apex)?;
}
}
Ok(list)