fix DynamicPartitionControlAndroid::LoadMetadataBuilder am: 30fa5f523f am: d824c627e4
am: fbecb990da

Change-Id: I296c5e4103c5bedbcd128ee31b6670379c96f4c5
diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc
index 1a1e021..d9d3be5 100644
--- a/dynamic_partition_control_android.cc
+++ b/dynamic_partition_control_android.cc
@@ -204,8 +204,14 @@
     const std::string& super_device,
     uint32_t source_slot,
     uint32_t target_slot) {
-  auto builder = MetadataBuilder::NewForUpdate(
-      PartitionOpener(), super_device, source_slot, target_slot);
+  std::unique_ptr<MetadataBuilder> builder;
+  if (target_slot == BootControlInterface::kInvalidSlot) {
+    builder =
+        MetadataBuilder::New(PartitionOpener(), super_device, source_slot);
+  } else {
+    builder = MetadataBuilder::NewForUpdate(
+        PartitionOpener(), super_device, source_slot, target_slot);
+  }
 
   if (builder == nullptr) {
     LOG(WARNING) << "No metadata slot "