/* * Copyright (C) 2024 The LineageOS Project * * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include #include using android::sp; using android::frameworks::sensorservice::V1_0::IEventQueue; using android::frameworks::sensorservice::V1_0::IEventQueueCallback; using android::frameworks::sensorservice::V1_0::ISensorManager; using android::frameworks::sensorservice::V1_0::Result; class SensorNotifier { public: SensorNotifier(sp manager); virtual ~SensorNotifier(); void activate(); void deactivate(); protected: Result initializeSensorQueue(std::string typeAsString, bool wakeup, sp); virtual void notify() = 0; sp mQueue; int32_t mSensorHandle = -1; bool mActive = false; private: sp mManager; std::thread mThread; };