Retrofit devices do not do allocatable space / 2. Retrofit devices have two supers, so the allocatable space does not need to be halved. Test: manual OTA Bug: 118506262 Change-Id: I31c77b9318e7c0b6bc6d1a8ae6efa70a3383b05f
diff --git a/boot_control_android.cc b/boot_control_android.cc index f4e0a4b..2d2b77e 100644 --- a/boot_control_android.cc +++ b/boot_control_android.cc
@@ -323,12 +323,17 @@ total_size += group.size; } - if (total_size > (builder->AllocatableSpace() / 2)) { - LOG(ERROR) - << "The maximum size of all groups with suffix " << target_suffix - << " (" << total_size - << ") has exceeded half of allocatable space for dynamic partitions " - << (builder->AllocatableSpace() / 2) << "."; + string expr; + uint64_t allocatable_space = builder->AllocatableSpace(); + if (!dynamic_control->IsDynamicPartitionsRetrofit()) { + allocatable_space /= 2; + expr = "half of "; + } + if (total_size > allocatable_space) { + LOG(ERROR) << "The maximum size of all groups with suffix " << target_suffix + << " (" << total_size << ") has exceeded " << expr + << "allocatable space for dynamic partitions " + << allocatable_space << "."; return false; }