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

Commit 1171f685 authored by Wonsik Kim's avatar Wonsik Kim
Browse files

mediaswcodec: fix handling API level

Bug: 204932691
Test: presubmit
Change-Id: Id11b4b2efc2749c1e0d1f493de98f94d3272aec4
parent f153348b
Loading
Loading
Loading
Loading
+23 −38
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
//#define LOG_NDEBUG 0
#define LOG_TAG "CodecServiceRegistrant"

#include <android-base/properties.h>
#include <android/api-level.h>
#include <android-base/logging.h>
#include <android-base/properties.h>

@@ -416,49 +416,34 @@ extern "C" void RegisterCodecServices() {

    using namespace ::android::hardware::media::c2;

    int platformVersion =
        android::base::GetIntProperty("ro.build.version.sdk", int32_t(29));
    // STOPSHIP: Remove code name checking once platform version bumps up to 30.
    std::string codeName =
        android::base::GetProperty("ro.build.version.codename", "");
    if (codeName == "S") {
        platformVersion = 31;
    }
    int platformVersion = android_get_device_api_level();

    switch (platformVersion) {
        case 31: {
    if (platformVersion >= __ANDROID_API_S__) {
        android::sp<V1_2::IComponentStore> storeV1_2 =
            new V1_2::utils::ComponentStore(store);
        if (storeV1_2->registerAsService("software") != android::OK) {
            LOG(ERROR) << "Cannot register software Codec2 v1.2 service.";
            return;
        }
            break;
        }
        case 30: {
    } else if (platformVersion == __ANDROID_API_R__) {
        android::sp<V1_1::IComponentStore> storeV1_1 =
            new V1_1::utils::ComponentStore(store);
        if (storeV1_1->registerAsService("software") != android::OK) {
            LOG(ERROR) << "Cannot register software Codec2 v1.1 service.";
            return;
        }
            break;
        }
        case 29: {
    } else if (platformVersion == __ANDROID_API_Q__) {
        android::sp<V1_0::IComponentStore> storeV1_0 =
            new V1_0::utils::ComponentStore(store);
        if (storeV1_0->registerAsService("software") != android::OK) {
            LOG(ERROR) << "Cannot register software Codec2 v1.0 service.";
            return;
        }
            break;
        }
        default: {
    } else {  // platformVersion < __ANDROID_API_Q__
        LOG(ERROR) << "The platform version " << platformVersion <<
                      " is not supported.";
        return;
    }
    }
    if (!ionPropertiesDefined()) {
        using IComponentStore =
            ::android::hardware::media::c2::V1_0::IComponentStore;