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

Commit 20f76f36 authored by Michael Butler's avatar Michael Butler
Browse files

Configure Version value for each version of NN AIDL utils

Currently, there are two different versions of the NN AIDL utils:
* neuralnetworks_utils_hal_aidl_v1 (v1)
* neuralnetowrks_utils_hal_aidl (v2)

This change configures utils::kVersion to match the version of the
utility library that builds it.

Bug: N/A
Test: mma
Change-Id: I7d08bf50f76664702ec0828cc35a363eb29bdde3
parent c4718b79
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@

#include "nnapi/hal/aidl/Conversions.h"

#include <aidl/android/hardware/neuralnetworks/IDevice.h>
#include <android-base/logging.h>
#include <nnapi/Result.h>
#include <nnapi/TypeUtils.h>
@@ -28,7 +29,19 @@
namespace aidl::android::hardware::neuralnetworks::utils {

constexpr auto kDefaultPriority = Priority::MEDIUM;
constexpr auto kVersion = nn::Version::FEATURE_LEVEL_6;

constexpr std::optional<nn::Version> aidlVersionToCanonicalVersion(int aidlVersion) {
    switch (aidlVersion) {
        case 1:
            return nn::Version::ANDROID_S;
        case 2:
            return nn::Version::FEATURE_LEVEL_6;
        default:
            return std::nullopt;
    }
}

constexpr auto kVersion = aidlVersionToCanonicalVersion(IDevice::version).value();

template <typename Type>
nn::Result<void> validate(const Type& halObject) {
+4 −6
Original line number Diff line number Diff line
@@ -46,14 +46,12 @@ nn::GeneralResult<nn::Version> getAidlServiceFeatureLevel(IDevice* service) {
    aidlVersion = std::min(aidlVersion, IDevice::version);

    // Map stable AIDL versions to canonical versions.
    switch (aidlVersion) {
        case 1:
            return nn::Version::ANDROID_S;
        case 2:
            return nn::Version::FEATURE_LEVEL_6;
    }
    auto version = aidlVersionToCanonicalVersion(aidlVersion);
    if (!version.has_value()) {
        return NN_ERROR() << "Unknown AIDL service version: " << aidlVersion;
    }
    return version.value();
}

}  // namespace