diff options
author | Paul Olav Tvete <paul.tvete@digia.com> | 2014-08-08 18:31:20 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@digia.com> | 2014-08-12 09:24:51 +0200 |
commit | ea7af7f00886f77941b81262e597c3b7f3477f48 (patch) | |
tree | 535e61590542e9f6e464b93de16202ce239b7e3b /src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java | |
parent | 825ae95d8984a3daa49ad81a91e85483918799af (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/src/org/qtproject/qt5/android/sensors/QtSensors.java')
-rw-r--r-- | src/plugins/sensors/android/jar/src/org/qtproject/qt5/android/sensors/QtSensors.java | 19 |
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); |