Merge "Rename functions in libvendorsupport" into main
This commit is contained in:
commit
f27d8cebbd
5 changed files with 34 additions and 37 deletions
|
@ -1104,7 +1104,8 @@ static void property_initialize_ro_vendor_api_level() {
|
|||
product_first_api_level = GetIntProperty("ro.build.version.sdk", __ANDROID_API_FUTURE__);
|
||||
}
|
||||
|
||||
vendor_api_level = std::min(vendor_api_level_of(product_first_api_level), vendor_api_level);
|
||||
vendor_api_level =
|
||||
std::min(AVendorSupport_getVendorApiLevelOf(product_first_api_level), vendor_api_level);
|
||||
|
||||
if (vendor_api_level < 0) {
|
||||
LOG(ERROR) << "Unexpected vendor api level for " << VENDOR_API_LEVEL_PROP << ". Check "
|
||||
|
|
|
@ -14,38 +14,34 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <android/api-level.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define __ANDROID_VENDOR_API_MAX__ 1000000
|
||||
#define __INVALID_API_LEVEL -1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Find corresponding vendor API level from an SDK API version.
|
||||
*
|
||||
* @details
|
||||
* SDK API versions and vendor API levels are not compatible and not
|
||||
* convertible. However, this function can be used to compare the two versions
|
||||
* exchangeable. However, this function can be used to compare the two versions
|
||||
* to know which one is newer than the other.
|
||||
*
|
||||
* @param sdk_api_level The SDK version int. This must be less than 10000.
|
||||
* @param sdkApiLevel The SDK version int. This must be less than 10000.
|
||||
* @return The corresponding vendor API level of the SDK version. -1 if the SDK
|
||||
* version is invalid or 10000.
|
||||
*/
|
||||
int vendor_api_level_of(int sdk_api_level);
|
||||
int AVendorSupport_getVendorApiLevelOf(int sdkApiLevel);
|
||||
|
||||
/**
|
||||
* @brief Find corresponding SDK API version from a vendor API level.
|
||||
*
|
||||
* @param vendor_api_level The vendor API level int.
|
||||
* @param vendorApiLevel The vendor API level int.
|
||||
* @return The corresponding SDK API version of the vendor API level. -1 if the
|
||||
* vendor API level is invalid.
|
||||
*/
|
||||
int sdk_api_level_of(int vendor_api_level);
|
||||
int AVendorSupport_getSdkApiLevelOf(int vendorApiLevel);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
__END_DECLS
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
LIBVENDORSUPPORT {
|
||||
global:
|
||||
vendor_api_level_of; # llndk systemapi
|
||||
sdk_api_level_of; # llndk systemapi
|
||||
AVendorSupport_getVendorApiLevelOf; # llndk systemapi
|
||||
AVendorSupport_getSdkApiLevelOf; # llndk systemapi
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
|
|
@ -21,17 +21,17 @@ using namespace std;
|
|||
|
||||
namespace {
|
||||
|
||||
TEST(vendorsupport, get_corresponding_vendor_api_level) {
|
||||
ASSERT_EQ(__ANDROID_API_U__, vendor_api_level_of(__ANDROID_API_U__));
|
||||
ASSERT_EQ(202404, vendor_api_level_of(__ANDROID_API_V__));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, vendor_api_level_of(__ANDROID_API_FUTURE__));
|
||||
TEST(VendorSupport, GetCorrespondingVendorApiLevel) {
|
||||
ASSERT_EQ(__ANDROID_API_U__, AVendorSupport_getVendorApiLevelOf(__ANDROID_API_U__));
|
||||
ASSERT_EQ(202404, AVendorSupport_getVendorApiLevelOf(__ANDROID_API_V__));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, AVendorSupport_getVendorApiLevelOf(__ANDROID_API_FUTURE__));
|
||||
}
|
||||
|
||||
TEST(vendorsupport, get_corresponding_sdk_api_level) {
|
||||
ASSERT_EQ(__ANDROID_API_U__, sdk_api_level_of(__ANDROID_API_U__));
|
||||
ASSERT_EQ(__ANDROID_API_V__, sdk_api_level_of(202404));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, sdk_api_level_of(__ANDROID_VENDOR_API_MAX__));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, sdk_api_level_of(35));
|
||||
TEST(VendorSupport, GetCorrespondingSdkApiLevel) {
|
||||
ASSERT_EQ(__ANDROID_API_U__, AVendorSupport_getSdkApiLevelOf(__ANDROID_API_U__));
|
||||
ASSERT_EQ(__ANDROID_API_V__, AVendorSupport_getSdkApiLevelOf(202404));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, AVendorSupport_getSdkApiLevelOf(__ANDROID_VENDOR_API_MAX__));
|
||||
ASSERT_EQ(__INVALID_API_LEVEL, AVendorSupport_getSdkApiLevelOf(35));
|
||||
}
|
||||
|
||||
} // namespace
|
|
@ -16,26 +16,26 @@
|
|||
|
||||
#include <log/log.h>
|
||||
|
||||
int vendor_api_level_of(int sdk_api_level) {
|
||||
if (sdk_api_level < __ANDROID_API_V__) {
|
||||
return sdk_api_level;
|
||||
int AVendorSupport_getVendorApiLevelOf(int sdkApiLevel) {
|
||||
if (sdkApiLevel < __ANDROID_API_V__) {
|
||||
return sdkApiLevel;
|
||||
}
|
||||
// In Android V, vendor API level started with version 202404.
|
||||
// The calculation assumes that the SDK api level bumps once a year.
|
||||
if (sdk_api_level < __ANDROID_API_FUTURE__) {
|
||||
return 202404 + ((sdk_api_level - __ANDROID_API_V__) * 100);
|
||||
if (sdkApiLevel < __ANDROID_API_FUTURE__) {
|
||||
return 202404 + ((sdkApiLevel - __ANDROID_API_V__) * 100);
|
||||
}
|
||||
ALOGE("The SDK version must be less than 10000: %d", sdk_api_level);
|
||||
ALOGE("The SDK version must be less than 10000: %d", sdkApiLevel);
|
||||
return __INVALID_API_LEVEL;
|
||||
}
|
||||
|
||||
int sdk_api_level_of(int vendor_api_level) {
|
||||
if (vendor_api_level < __ANDROID_API_V__) {
|
||||
return vendor_api_level;
|
||||
int AVendorSupport_getSdkApiLevelOf(int vendorApiLevel) {
|
||||
if (vendorApiLevel < __ANDROID_API_V__) {
|
||||
return vendorApiLevel;
|
||||
}
|
||||
if (vendor_api_level >= 202404 && vendor_api_level < __ANDROID_VENDOR_API_MAX__) {
|
||||
return (vendor_api_level - 202404) / 100 + __ANDROID_API_V__;
|
||||
if (vendorApiLevel >= 202404 && vendorApiLevel < __ANDROID_VENDOR_API_MAX__) {
|
||||
return (vendorApiLevel - 202404) / 100 + __ANDROID_API_V__;
|
||||
}
|
||||
ALOGE("Unexpected vendor api level: %d", vendor_api_level);
|
||||
ALOGE("Unexpected vendor api level: %d", vendorApiLevel);
|
||||
return __INVALID_API_LEVEL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue