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

Commit 1fa8f082 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 7005317 from 39e88771 to sc-release

Change-Id: Ied2d56795c3c4e4f6c47a56d58ad8450415889a4
parents 3acb7780 39e88771
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -42,4 +42,8 @@ enum AcquiredInfo {
  SENSOR_DIRTY = 21,
  VENDOR = 22,
  FIRST_FRAME_RECEIVED = 23,
  DARK_GLASSES_DETECTED = 24,
  FACE_COVERING_DETECTED = 25,
  EYES_NOT_VISIBLE = 26,
  MOUTH_NOT_VISIBLE = 27,
}
+25 −1
Original line number Diff line number Diff line
@@ -218,6 +218,30 @@ enum AcquiredInfo {
    /**
     * The first frame from the camera has been received.
     */
    FIRST_FRAME_RECEIVED = 23
    FIRST_FRAME_RECEIVED = 23,

    /**
     * Dark glasses detected. This can be useful for providing relevant feedback to the user and
     * enabling an alternative authentication logic if the implementation supports it.
     */
    DARK_GLASSES_DETECTED = 24,

    /**
     * A face mask or face covering detected. This can be useful for providing relevant feedback to
     * the user and enabling an alternative authentication logic if the implementation supports it.
     */
    FACE_COVERING_DETECTED = 25,

    /**
     * Either one or both eyes are not visible in the frame. Prefer to use DARK_GLASSES_DETECTED if
     * the eyes are not visible due to dark glasses.
     */
    EYES_NOT_VISIBLE = 26,

    /**
     * The mouth is not visible in the frame. Prefer to use MASK_DETECTED if the mouth is not
     * visible due to a mask.
     */
    MOUTH_NOT_VISIBLE = 27,
}
+0 −1
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ namespace android::hardware::neuralnetworks::V1_2::utils {
nn::GeneralResult<std::string> initVersionString(V1_2::IDevice* device);
nn::GeneralResult<nn::DeviceType> initDeviceType(V1_2::IDevice* device);
nn::GeneralResult<std::vector<nn::Extension>> initExtensions(V1_2::IDevice* device);
nn::GeneralResult<nn::Capabilities> initCapabilities(V1_2::IDevice* device);
nn::GeneralResult<std::pair<uint32_t, uint32_t>> initNumberOfCacheFilesNeeded(
        V1_2::IDevice* device);

+24 −21
Original line number Diff line number Diff line
@@ -42,6 +42,30 @@
#include <vector>

namespace android::hardware::neuralnetworks::V1_2::utils {
namespace {

nn::GeneralResult<nn::Capabilities> initCapabilities(V1_2::IDevice* device) {
    CHECK(device != nullptr);

    nn::GeneralResult<nn::Capabilities> result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE)
                                                 << "uninitialized";
    const auto cb = [&result](V1_0::ErrorStatus status, const Capabilities& capabilities) {
        if (status != V1_0::ErrorStatus::NONE) {
            const auto canonical =
                    validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
            result = NN_ERROR(canonical) << "getCapabilities_1_2 failed with " << toString(status);
        } else {
            result = validatedConvertToCanonical(capabilities);
        }
    };

    const auto ret = device->getCapabilities_1_2(cb);
    NN_TRY(hal::utils::handleTransportError(ret));

    return result;
}

}  // namespace

nn::GeneralResult<std::string> initVersionString(V1_2::IDevice* device) {
    CHECK(device != nullptr);
@@ -106,27 +130,6 @@ nn::GeneralResult<std::vector<nn::Extension>> initExtensions(V1_2::IDevice* devi
    return result;
}

nn::GeneralResult<nn::Capabilities> initCapabilities(V1_2::IDevice* device) {
    CHECK(device != nullptr);

    nn::GeneralResult<nn::Capabilities> result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE)
                                                 << "uninitialized";
    const auto cb = [&result](V1_0::ErrorStatus status, const Capabilities& capabilities) {
        if (status != V1_0::ErrorStatus::NONE) {
            const auto canonical =
                    validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
            result = NN_ERROR(canonical) << "getCapabilities_1_2 failed with " << toString(status);
        } else {
            result = validatedConvertToCanonical(capabilities);
        }
    };

    const auto ret = device->getCapabilities_1_2(cb);
    NN_TRY(hal::utils::handleTransportError(ret));

    return result;
}

nn::GeneralResult<std::pair<uint32_t, uint32_t>> initNumberOfCacheFilesNeeded(
        V1_2::IDevice* device) {
    CHECK(device != nullptr);
+22 −1
Original line number Diff line number Diff line
@@ -71,6 +71,27 @@ nn::GeneralResult<nn::SharedBuffer> convert(
    return NN_TRY(std::move(result));
}

nn::GeneralResult<nn::Capabilities> initCapabilities(V1_3::IDevice* device) {
    CHECK(device != nullptr);

    nn::GeneralResult<nn::Capabilities> result = NN_ERROR(nn::ErrorStatus::GENERAL_FAILURE)
                                                 << "uninitialized";
    const auto cb = [&result](ErrorStatus status, const Capabilities& capabilities) {
        if (status != ErrorStatus::NONE) {
            const auto canonical =
                    validatedConvertToCanonical(status).value_or(nn::ErrorStatus::GENERAL_FAILURE);
            result = NN_ERROR(canonical) << "getCapabilities_1_3 failed with " << toString(status);
        } else {
            result = validatedConvertToCanonical(capabilities);
        }
    };

    const auto ret = device->getCapabilities_1_3(cb);
    NN_TRY(hal::utils::handleTransportError(ret));

    return result;
}

}  // namespace

nn::GeneralResult<std::shared_ptr<const Device>> Device::create(std::string name,
@@ -87,7 +108,7 @@ nn::GeneralResult<std::shared_ptr<const Device>> Device::create(std::string name
    auto versionString = NN_TRY(V1_2::utils::initVersionString(device.get()));
    const auto deviceType = NN_TRY(V1_2::utils::initDeviceType(device.get()));
    auto extensions = NN_TRY(V1_2::utils::initExtensions(device.get()));
    auto capabilities = NN_TRY(V1_2::utils::initCapabilities(device.get()));
    auto capabilities = NN_TRY(initCapabilities(device.get()));
    const auto numberOfCacheFilesNeeded =
            NN_TRY(V1_2::utils::initNumberOfCacheFilesNeeded(device.get()));

Loading