DynamicPartitionControl: Load metadata correctly for downgrading Virtual A/B
am: 50a56c6a28
Change-Id: Ib4136c8046d04ecc248bb31ddc49ab689aa0c76c
diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc
index 90e489a..a8210cf 100644
--- a/dynamic_partition_control_android.cc
+++ b/dynamic_partition_control_android.cc
@@ -257,8 +257,12 @@
builder =
MetadataBuilder::New(PartitionOpener(), super_device, source_slot);
} else {
- builder = MetadataBuilder::NewForUpdate(
- PartitionOpener(), super_device, source_slot, target_slot);
+ bool always_keep_source_slot = !target_supports_snapshot_;
+ builder = MetadataBuilder::NewForUpdate(PartitionOpener(),
+ super_device,
+ source_slot,
+ target_slot,
+ always_keep_source_slot);
}
if (builder == nullptr) {