DynamicPartitionControl: Load metadata correctly for downgrading Virtual A/B am: 50a56c6a28
am: ecc45413eb

Change-Id: I4389339e4f89ba5026dcdf8515979dfc6d9fe006
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) {