summaryrefslogtreecommitdiff
path: root/dynamic_partition_control_android.cc
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2019-10-23 15:56:03 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-10-23 15:56:03 -0700
commitdc6d9b1c05cebef66df79b43b79f876f40d493b0 (patch)
tree59f0d470c4209905fed702ff3caa410a67b8aa40 /dynamic_partition_control_android.cc
parent40bf7c184e85332a4832abea3dc2923b51357103 (diff)
parent6e0d0ef979d2d0dd99c586f83fd7edbf356c63c3 (diff)
Sanity check that no downgrade package on launch VAB device.
am: 6e0d0ef979 Change-Id: Icf916a3fffe4a3e8267f45345fbe92250ab3cd32
Diffstat (limited to 'dynamic_partition_control_android.cc')
-rw-r--r--dynamic_partition_control_android.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/dynamic_partition_control_android.cc b/dynamic_partition_control_android.cc
index 0c1f0d30..e194670f 100644
--- a/dynamic_partition_control_android.cc
+++ b/dynamic_partition_control_android.cc
@@ -369,6 +369,13 @@ bool DynamicPartitionControlAndroid::PreparePartitionsForUpdate(
return PrepareSnapshotPartitionsForUpdate(
source_slot, target_slot, manifest);
}
+
+ if (GetVirtualAbFeatureFlag().IsLaunch() && !target_supports_snapshot_) {
+ LOG(ERROR) << "Cannot downgrade to a build that does not support "
+ << "snapshots because this device launches with Virtual A/B.";
+ return false;
+ }
+
if (!snapshot_->CancelUpdate()) {
LOG(ERROR) << "Cannot cancel previous update.";
return false;