summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@jollamobile.com>2014-04-03 10:18:43 +1000
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-20 20:38:28 +0200
commitdaa5343cc830f297d76a86d8133dac2b00294a19 (patch)
tree1d97ee069b34031156344f12105230566c1d9a4b
parent9e17571ccbd5d7bced57c3920287b55e3f8131c4 (diff)
send first proximity signal even when it's "closed".
This fixes a bug where the proximity sensor would send the initial signal only when it was not closed. This will send it regardless. Change-Id: I5f388e671091ae2a7719f700a049cea41bfaa0db Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp16
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwproximitysensor.h1
2 files changed, 7 insertions, 10 deletions
diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
index d98dfd1a..76ce38d6 100644
--- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
@@ -42,12 +42,12 @@
#include "sensorfwproximitysensor.h"
char const * const SensorfwProximitySensor::id("sensorfw.proximitysensor");
-//bool SensorfwProximitySensor::m_initDone = false;
SensorfwProximitySensor::SensorfwProximitySensor(QSensor *sensor)
: SensorfwSensorBase(sensor),
- m_exClose(false)
- , m_initDone(false)
+ m_exClose(false),
+ m_initDone(false),
+ firstRun(true)
{
init();
setReading<QProximityReading>(&m_reading);
@@ -57,12 +57,6 @@ SensorfwProximitySensor::SensorfwProximitySensor(QSensor *sensor)
void SensorfwProximitySensor::start()
{
- if (m_sensorInterface) {
- Unsigned data(((ProximitySensorChannelInterface*)m_sensorInterface)->proximity());
- m_reading.setClose(data.x()? true: false);
- m_reading.setTimestamp(data.UnsignedData().timestamp_);
- newReadingAvailable();
- }
SensorfwSensorBase::start();
}
@@ -70,11 +64,13 @@ void SensorfwProximitySensor::start()
void SensorfwProximitySensor::slotDataAvailable(const Unsigned& data)
{
bool close = data.x()? true: false;
- if (close == m_exClose) return;
+ if (!firstRun && close == m_exClose) return;
m_reading.setClose(close);
m_reading.setTimestamp(data.UnsignedData().timestamp_);
newReadingAvailable();
m_exClose = close;
+ if (firstRun)
+ firstRun = false;
}
bool SensorfwProximitySensor::doConnect()
diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
index caaa9b97..a9352fb7 100644
--- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
@@ -66,6 +66,7 @@ private:
QProximityReading m_reading;
bool m_initDone;
bool m_exClose;
+ bool firstRun;
private slots:
void slotDataAvailable(const Unsigned& data);