Skip initializing ro.vendor.api_level if already defined

Devices may predefine ro.vendor.api_level. Skip calculating the value
if the ro.vendor.api_level is already defined.

Bug: 326164316
Test: getprop ro.vendor.api_level
Change-Id: Ic9fd2a0eef6ba9345f98a5cb1eb790080e19ca19
This commit is contained in:
Justin Yun 2024-02-28 21:03:41 +09:00
parent 98c2d78b4f
commit 4058ba29b5

View file

@ -1090,6 +1090,12 @@ static void property_initialize_ro_vendor_api_level() {
// required to support.
constexpr auto VENDOR_API_LEVEL_PROP = "ro.vendor.api_level";
if (__system_property_find(VENDOR_API_LEVEL_PROP) != nullptr) {
// The device already have ro.vendor.api_level in its vendor/build.prop.
// Skip initializing the ro.vendor.api_level property.
return;
}
auto vendor_api_level = GetIntProperty("ro.board.first_api_level", __ANDROID_VENDOR_API_MAX__);
if (vendor_api_level != __ANDROID_VENDOR_API_MAX__) {
// Update the vendor_api_level with "ro.board.api_level" only if both "ro.board.api_level"