diff options
Diffstat (limited to 'src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp')
-rw-r--r-- | src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp b/src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp new file mode 100644 index 0000000..212733c --- /dev/null +++ b/src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp @@ -0,0 +1,29 @@ +#include "eandroidambientlightsensor.h" + +EAndroidAmbientLightSensor::EAndroidAmbientLightSensor(int type, QSensor *sensor) + : EAndroidBaseSensor(type, sensor) +{ + setReading<QAmbientLightReading>(&m_reading); +} + +EAndroidAmbientLightSensor::~EAndroidAmbientLightSensor() +{ +} + +void EAndroidAmbientLightSensor::processEvent(sensors_event_t &event) +{ + const int lightLevelLux = event.light; + + if (lightLevelLux < 10) + m_reading.setLightLevel(QAmbientLightReading::Dark); + else if (lightLevelLux < 80) + m_reading.setLightLevel(QAmbientLightReading::Twilight); + else if (lightLevelLux < 400) + m_reading.setLightLevel(QAmbientLightReading::Light); + else if (lightLevelLux < 2500) + m_reading.setLightLevel(QAmbientLightReading::Bright); + else + m_reading.setLightLevel(QAmbientLightReading::Sunny); + + newReadingAvailable(); +} |