platform_device_xiaomi_sm84.../sensors/main.cpp
Arian b9ef44eff2 sm8450-common: sensors: Introduce LightNotifier and use libssccalapi@2.0
Change-Id: Iec11aa1a8ccc13db5d30cc6fa52e4b10d255c706
2024-08-12 10:24:41 +02:00

49 lines
1.4 KiB
C++

/*
* Copyright (C) 2024 The LineageOS Project
*
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "SensorNotifier"
#include <android-base/logging.h>
#include <android-base/properties.h>
#include "SensorNotifierExt.h"
#include "SscCalApi.h"
#include "notifiers/AodNotifier.h"
#include "notifiers/LightNotifier.h"
#include "notifiers/NonUiNotifier.h"
int main() {
sp<ISensorManager> manager = ISensorManager::getService();
if (manager == nullptr) {
LOG(ERROR) << "failed to get ISensorManager";
return EXIT_FAILURE;
}
SscCalApiWrapper::getInstance().initCurrentSensors(
android::base::GetBoolProperty("persist.vendor.debug.ssccalapi", false));
std::vector<std::unique_ptr<SensorNotifier>> notifiers;
notifiers.push_back(std::make_unique<AodNotifier>(manager));
notifiers.push_back(std::make_unique<LightNotifier>(manager));
notifiers.push_back(std::make_unique<NonUiNotifier>(manager));
for (const auto& notifier : notifiers) {
notifier->activate();
}
std::unique_ptr<SensorNotifierExt> sensorNotifierExt =
std::make_unique<SensorNotifierExt>(manager);
for (const auto& notifier : sensorNotifierExt->mNotifiers) {
notifier->activate();
}
while (true) {
// Sleep to keep the notifiers alive
std::this_thread::sleep_for(std::chrono::seconds(10));
}
// Should never reach this
return EXIT_SUCCESS;
}