From 3dbd088db37f915373b2dbedc2d5007a8cc0fb47 Mon Sep 17 00:00:00 2001 From: Arian Date: Thu, 25 Jul 2024 01:08:38 +0200 Subject: [PATCH] sm8450-common: sensors: Use wake-up version of nonui sensor Change-Id: I4858cd37b98839c00cc2e533d7e50720cd7280c8 --- sensors/NonUiNotifier.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/sensors/NonUiNotifier.cpp b/sensors/NonUiNotifier.cpp index 24f3b0d..235b770 100644 --- a/sensors/NonUiNotifier.cpp +++ b/sensors/NonUiNotifier.cpp @@ -78,11 +78,29 @@ int main() { return EXIT_FAILURE; } + std::vector sensorList; + manager->getSensorList([&sensorList, &res](const auto& l, auto r) { + sensorList = l; + res = r; + }); + if (res != Result::OK) { + LOG(ERROR) << "failed to get getSensorList"; + return EXIT_FAILURE; + } + auto it = std::find_if(sensorList.begin(), sensorList.end(), [](const SensorInfo& sensor) { + return (sensor.typeAsString == SENSOR_NAME_XIAOMI_SENSOR_NONUI) && + (sensor.flags & SensorFlagBits::WAKE_UP); + }); + int32_t sensorHandle = -1; - manager->getDefaultSensor(static_cast(SENSOR_TYPE_XIAOMI_SENSOR_NONUI), - [&sensorHandle](const auto& info, auto r) { - sensorHandle = info.sensorHandle; - }); + if (it != sensorList.end()) { + sensorHandle = it->sensorHandle; + } else { + LOG(ERROR) << "failed to get wake-up version of nonui sensor"; + return EXIT_FAILURE; + } + + sensorList.clear(); manager->createEventQueue(new NonUiSensorCallback(), [&queue, &res](const auto& q, auto r) { queue = q;