summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-11-03 03:01:29 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-11-03 03:01:29 +0100
commite8f26548c4dd157b5f5a786ad3b89c5e3c31f475 (patch)
tree3af68d6888c3a6899b131a80fcb6d831959ae89f /src
parent97a5e3905480856868bf603bfde89031ea387ad7 (diff)
parent6ad68d73e4f9c00af6cc030a168458acb7b69b50 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'src')
-rw-r--r--src/plugins/sensors/android/src/androidcompass.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/plugins/sensors/android/src/androidcompass.cpp b/src/plugins/sensors/android/src/androidcompass.cpp
index 610dcde7..0911d901 100644
--- a/src/plugins/sensors/android/src/androidcompass.cpp
+++ b/src/plugins/sensors/android/src/androidcompass.cpp
@@ -49,7 +49,7 @@ class AndroidAccelerometerListener : public AndroidSensors::AndroidSensorsListen
public:
AndroidAccelerometerListener(AndroidCompass *parent)
- : m_compass(parent)
+ : accuracy(0), m_compass(parent)
{
memset(reading, 0, sizeof(reading));
}
@@ -64,9 +64,9 @@ public:
AndroidSensors::unregisterListener(AndroidSensors::TYPE_ACCELEROMETER, this);
}
- void onAccuracyChanged(jint accuracy) override
+ void onAccuracyChanged(jint value) override
{
- Q_UNUSED(accuracy);
+ accuracy = value;
}
void onSensorChanged(jlong /*timestamp*/, const jfloat *values, uint size) override
@@ -80,6 +80,7 @@ public:
}
jfloat reading[3];
+ jint accuracy;
private:
AndroidCompass *m_compass;
@@ -89,7 +90,7 @@ class AndroidMagnetometerListener : public AndroidSensors::AndroidSensorsListene
{
public:
AndroidMagnetometerListener(AndroidCompass *parent)
- :m_compass(parent)
+ : accuracy(0), m_compass(parent)
{
memset(reading, 0, sizeof(reading));
}
@@ -104,9 +105,9 @@ public:
AndroidSensors::unregisterListener(AndroidSensors::TYPE_MAGNETIC_FIELD, this);
}
- void onAccuracyChanged(jint accuracy) override
+ void onAccuracyChanged(jint value) override
{
- Q_UNUSED(accuracy);
+ accuracy = value;
}
void onSensorChanged(jlong /*timestamp*/, const jfloat *values, uint size) override
@@ -120,6 +121,7 @@ public:
}
jfloat reading[3];
+ jint accuracy;
private:
AndroidCompass *m_compass;
};
@@ -169,5 +171,7 @@ void AndroidCompass::testStuff()
qreal azimuth = AndroidSensors::getCompassAzimuth(m_accelerometerListener->reading, m_magnetometerListener->reading);
m_reading.setAzimuth(qRadiansToDegrees(azimuth));
+ const qreal accuracyValue = (m_accelerometerListener->accuracy + m_magnetometerListener->accuracy) / 6;
+ m_reading.setCalibrationLevel(accuracyValue);
newReadingAvailable();
}