Loading biometrics/face/aidl/aidl_api/android.hardware.biometrics.face/current/android/hardware/biometrics/face/AcquiredInfo.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -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, } biometrics/face/aidl/android/hardware/biometrics/face/AcquiredInfo.aidl +25 −1 Original line number Diff line number Diff line Loading @@ -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, } neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h +0 −1 Original line number Diff line number Diff line Loading @@ -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); Loading neuralnetworks/1.2/utils/src/Device.cpp +24 −21 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading neuralnetworks/1.3/utils/src/Device.cpp +22 −1 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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 Loading
biometrics/face/aidl/aidl_api/android.hardware.biometrics.face/current/android/hardware/biometrics/face/AcquiredInfo.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -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, }
biometrics/face/aidl/android/hardware/biometrics/face/AcquiredInfo.aidl +25 −1 Original line number Diff line number Diff line Loading @@ -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, }
neuralnetworks/1.2/utils/include/nnapi/hal/1.2/Device.h +0 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
neuralnetworks/1.2/utils/src/Device.cpp +24 −21 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading
neuralnetworks/1.3/utils/src/Device.cpp +22 −1 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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