summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/android/jar
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@digia.com>2014-08-08 18:31:20 +0200
committerPaul Olav Tvete <paul.tvete@digia.com>2014-08-12 09:24:51 +0200
commitea7af7f00886f77941b81262e597c3b7f3477f48 (patch)
tree535e61590542e9f6e464b93de16202ce239b7e3b /src/plugins/sensors/android/jar
parent825ae95d8984a3daa49ad81a91e85483918799af (diff)
Compass sensor implementation for Android
Change-Id: Ic13d2d1e400a92b2f0c3c83e279c58b799f9d06b Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
Diffstat (limited to 'src/plugins/sensors/android/jar')
-rw-r--r--src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java b/src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java
index efd1ff6d..e7e309ed 100644
--- a/src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java
+++ b/src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java
@@ -153,6 +153,25 @@ public class QtSensors implements SensorEventListener
return angles;
}
+ private static float[] mRotation = new float[9];
+ private static float[] mOrientation = new float[3];
+ private static float[] mAcc = new float[3];
+ private static float[] mMag = new float[3];
+
+ private static float getCompassAzimuth(float a0, float a1, float a2, float m0, float m1, float m2)
+ {
+ mAcc[0] = a0;
+ mAcc[1] = a1;
+ mAcc[2] = a2;
+ mMag[0] = m0;
+ mMag[1] = m1;
+ mMag[2] = m2;
+
+ SensorManager.getRotationMatrix(mRotation, null, mAcc, mMag);
+ SensorManager.getOrientation(mRotation, mOrientation);
+ return mOrientation[0];
+ }
+
public static native void accuracyChanged(int sensorType, int accuracy);
public static native void sensorChanged(int sensorType, long timestamp, float[] values);