b9ef44eff2
Change-Id: Iec11aa1a8ccc13db5d30cc6fa52e4b10d255c706
49 lines
1.4 KiB
C++
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;
|
|
}
|