Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ce23dc4 authored by Justin Yun's avatar Justin Yun
Browse files

Rename functions in libvendorsupport

Follow platform naming conventions for an LLNDK library.

Bug: 325093550
Test: atest libvendorsupport-tests
Change-Id: Id93f7e66a47ae9250191f9827a76ce819e8f6f88
parent acd092ad
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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 "
+9 −13
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
LIBVENDORSUPPORT {
  global:
    vendor_api_level_of; # llndk systemapi
    sdk_api_level_of; # llndk systemapi
    AVendorSupport_getVendorApiLevelOf; # llndk systemapi
    AVendorSupport_getSdkApiLevelOf; # llndk systemapi
  local:
    *;
};
+9 −9
Original line number Diff line number Diff line
@@ -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
 No newline at end of file
+12 −12
Original line number Diff line number Diff line
@@ -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;
}