Properly set target build vars for partial updates.

If partial_update flag is set in payload, additionally do the following:

- Set is_target_dynamic to true; that is, assume that the target build
supports dynamic partitions
- Assert that current and target build supports Virtual A/B.

For non-partial updates, there is no change in behavior.

Bug: 162616968
Test: apply GKI update
Change-Id: I773b609c7a3f942827fd8b8f0f80f602884efb12
diff --git a/dynamic_partition_control_android.h b/dynamic_partition_control_android.h
index 08656fd..9ee85db 100644
--- a/dynamic_partition_control_android.h
+++ b/dynamic_partition_control_android.h
@@ -267,6 +267,10 @@
   // doing anything.
   bool EnsureMetadataMounted();
 
+  // Set boolean flags related to target build. This includes flags like
+  // target_supports_snapshot_ and is_target_dynamic_.
+  bool SetTargetBuildVars(const DeltaArchiveManifest& manifest);
+
   std::set<std::string> mapped_devices_;
   const FeatureFlag dynamic_partitions_;
   const FeatureFlag virtual_ab_;