summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp')
-rw-r--r--src/plugins/sensors/eandroid/eandroidambientlightsensor.cpp29
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();
+}