DynamicPartitionControl: Load metadata correctly for downgrading Virtual A/B am: 50a56c6a28 am: ecc45413eb am: 216bc3ac71
am: 3274afb2f5
Change-Id: If2aae9716e03e24278cd800dfbd9bd4c8e2b1db0
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) {