Add ro.vendor.build.dont_use_vabc to disable VABC OTA

This prop is owned by OEM, OEM can set this if they want to disable
VABC.

Test: m dist, make sure generated OTA has VABC disabled
Bug: 185400304

Change-Id: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
Merged-In: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
This commit is contained in:
Kelvin Zhang 2021-06-10 14:32:19 -04:00 committed by David Anderson
parent 2585969307
commit 9b55885314
3 changed files with 18 additions and 0 deletions

View File

@ -313,6 +313,13 @@ ADDITIONAL_VENDOR_PROPERTIES += \
endif
endif
# Set build prop. This prop is read by ota_from_target_files when generating OTA,
# to decide if VABC should be disabled.
ifeq ($(BOARD_DONT_USE_VABC_OTA),true)
ADDITIONAL_VENDOR_PROPERTIES += \
ro.vendor.build.dont_use_vabc=true
endif
ADDITIONAL_VENDOR_PROPERTIES += \
ro.vendor.build.security_patch=$(VENDOR_SECURITY_PATCH) \
ro.product.board=$(TARGET_BOOTLOADER_BOARD_NAME) \

View File

@ -450,6 +450,13 @@ class BuildInfo(object):
vendor_prop.GetProp("ro.virtual_ab.compression.enabled") == "true"
return vabc_enabled
@property
def vendor_suppressed_vabc(self):
vendor_prop = self.info_dict.get("vendor.build.prop")
vabc_suppressed = vendor_prop and \
vendor_prop.GetProp("ro.vendor.build.dont_use_vabc")
return vabc_suppressed and vabc_suppressed.lower() == "true"
@property
def oem_props(self):
return self._oem_props

View File

@ -1063,6 +1063,7 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
# serve I/O request when device boots. Therefore, disable VABC if source
# build doesn't supports it.
if not source_info.is_vabc or not target_info.is_vabc:
logger.info("Either source or target does not support VABC, disabling.")
OPTIONS.disable_vabc = True
else:
@ -1071,6 +1072,9 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
target_info = common.BuildInfo(OPTIONS.info_dict, OPTIONS.oem_dicts)
source_info = None
if target_info.vendor_suppressed_vabc:
logger.info("Vendor suppressed VABC. Disabling")
OPTIONS.disable_vabc = True
additional_args = []
# Prepare custom images.