summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@nokia.com>2012-09-19 19:19:46 +1000
committerLorn Potter <lorn.potter@gmail.com>2012-11-13 20:13:24 +0100
commit05b99e39f4c9e3249d22410d1c70eafb7b8c0170 (patch)
tree0ead578ee1113121494a710b59c4f46376d2803a
parentd8de6ec84d0d4d0a0a48a44590dde2797fe7cc09 (diff)
add qml sensorgesture element backported from qtt5
also add sensorgesture auto tests. need to add a tool that creates the moc data from real device. Change-Id: I6d68f9e889c4c69a916d048505da7dc348c64e11 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/README6
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/changelog5
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/compat1
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/control14
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/copyright40
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/manifest.aegis0
-rw-r--r--demos/video/qmlvideo/qtc_packaging/debian_harmattan/rules87
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/README6
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/changelog5
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/compat1
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/control14
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/copyright40
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/manifest.aegis0
-rw-r--r--demos/video/qmlvideofx/qtc_packaging/debian_harmattan/rules87
-rw-r--r--examples/declarative-systeminfo/battery2/battery2.pro3
-rw-r--r--examples/sensors/sensors.pro1
-rw-r--r--examples/sensors/shakeit/shakeit.qml6
-rw-r--r--plugins/declarative/sensors/qmlsensorgesture.cpp266
-rw-r--r--plugins/declarative/sensors/qmlsensorgesture.h106
-rw-r--r--plugins/declarative/sensors/sensors.cpp30
-rw-r--r--plugins/declarative/sensors/sensors.pro8
-rw-r--r--plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp2
-rw-r--r--plugins/sensorgestures/qtsensors/qshake2recognizer.cpp1
-rw-r--r--plugins/sensorgestures/qtsensors/qshake2recognizer.h1
-rw-r--r--plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp24
-rw-r--r--src/sensors/gestures/qsensorgesture.cpp14
-rw-r--r--src/sensors/gestures/qsensorgesturemanager.cpp4
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp2
-rw-r--r--tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro19
-rw-r--r--tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp215
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp98
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h75
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp105
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h78
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp107
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h71
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp96
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h75
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp95
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h76
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp105
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h72
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/test1.pro19
-rw-r--r--tests/auto/qsensorgestures/qsensorgestures.pro38
-rw-r--r--tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp629
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat249
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat161
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat256
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat204
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat258
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat260
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat246
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat364
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat85
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat188
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat296
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat161
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat248
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat234
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat653
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat187
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat195
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat204
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat196
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat157
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat228
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat595
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat260
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat252
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat361
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat151
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat43
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat148
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat42
-rw-r--r--tests/auto/qsensorgestures_gestures/mockbackends.h116
-rw-r--r--tests/auto/qsensorgestures_gestures/mockcommon.cpp253
-rw-r--r--tests/auto/qsensorgestures_gestures/mockcommon.h193
-rw-r--r--tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro22
-rw-r--r--tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp427
-rw-r--r--tests/auto/sensors.pro5
80 files changed, 10322 insertions, 323 deletions
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/README b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/README
deleted file mode 100644
index 28b7e589ac..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/README
+++ /dev/null
@@ -1,6 +0,0 @@
-The Debian Package qmlvideo
-----------------------------
-
-Comments regarding the Package
-
- -- unknown <> Thu, 20 Oct 2011 09:42:19 +0100
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/changelog b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/changelog
deleted file mode 100644
index c6240129ee..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-qmlvideo (0.0.1) unstable; urgency=low
-
- * Initial Release.
-
- -- unknown <> Thu, 20 Oct 2011 09:42:19 +0100
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/compat b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/compat
deleted file mode 100644
index 7f8f011eb7..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/control b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/control
deleted file mode 100644
index 5fa88691a2..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/control
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: qmlvideo
-Section: user/other
-Priority: optional
-Maintainer: unknown <>
-Build-Depends: debhelper (>= 5), libqt4-dev
-Standards-Version: 3.7.3
-Homepage: <insert the upstream URL, if relevant>
-
-Package: qmlvideo
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: <insert up to 60 chars description>
- <insert long description, indented with spaces>
-XSBC-Maemo-Display-Name: qmlvideo
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/copyright b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/copyright
deleted file mode 100644
index 99706fa0d4..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/copyright
+++ /dev/null
@@ -1,40 +0,0 @@
-This package was debianized by unknown <> on
-Thu, 20 Oct 2011 09:42:19 +0100.
-
-It was downloaded from <url://example.com>
-
-Upstream Author(s):
-
- <put author's name and email here>
- <likewise for another author>
-
-Copyright:
-
- <Copyright (C) YYYY Name OfAuthor>
- <likewise for another author>
-
-License:
-
- This package is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is (C) 2011, unknown <> and
-is licensed under the GPL, see above.
-
-
-# Please also look if there are files or directories which have a
-# different copyright/license attached and list them here.
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/manifest.aegis b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/manifest.aegis
deleted file mode 100644
index e69de29bb2..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/manifest.aegis
+++ /dev/null
diff --git a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/rules b/demos/video/qmlvideo/qtc_packaging/debian_harmattan/rules
deleted file mode 100644
index f7ea2a21a0..0000000000
--- a/demos/video/qmlvideo/qtc_packaging/debian_harmattan/rules
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-configure: configure-stamp
-
-configure-stamp:
- dh_testdir
- # qmake PREFIX=/usr# Uncomment this line for use without Qt Creator
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- # $(MAKE) # Uncomment this line for use without Qt Creator
- #docbook-to-man debian/qmlvideo.sgml > qmlvideo.1
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- $(MAKE) clean
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/qmlvideo.
- $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/qmlvideo install
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
-# dh_install
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
-# dh_perl
-# dh_makeshlibs
- dh_installdeb
- # dh_shlibdeps # Uncomment this line for use without Qt Creator
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
-
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/README b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/README
deleted file mode 100644
index f9b68e1350..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/README
+++ /dev/null
@@ -1,6 +0,0 @@
-The Debian Package qmlvideofx
-----------------------------
-
-Comments regarding the Package
-
- -- unknown <> Wed, 19 Oct 2011 14:56:46 +0100
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/changelog b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/changelog
deleted file mode 100644
index a88b72d187..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-qmlvideofx (0.0.1) unstable; urgency=low
-
- * Initial Release.
-
- -- unknown <> Wed, 19 Oct 2011 14:56:46 +0100
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/compat b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/compat
deleted file mode 100644
index 7f8f011eb7..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/control b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/control
deleted file mode 100644
index ca365e0908..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/control
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: qmlvideofx
-Section: user/other
-Priority: optional
-Maintainer: unknown <>
-Build-Depends: debhelper (>= 5), libqt4-dev
-Standards-Version: 3.7.3
-Homepage: <insert the upstream URL, if relevant>
-
-Package: qmlvideofx
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: <insert up to 60 chars description>
- <insert long description, indented with spaces>
-XSBC-Maemo-Display-Name: qmlvideofx
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/copyright b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/copyright
deleted file mode 100644
index 1d6654ae54..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/copyright
+++ /dev/null
@@ -1,40 +0,0 @@
-This package was debianized by unknown <> on
-Wed, 19 Oct 2011 14:56:46 +0100.
-
-It was downloaded from <url://example.com>
-
-Upstream Author(s):
-
- <put author's name and email here>
- <likewise for another author>
-
-Copyright:
-
- <Copyright (C) YYYY Name OfAuthor>
- <likewise for another author>
-
-License:
-
- This package is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is (C) 2011, unknown <> and
-is licensed under the GPL, see above.
-
-
-# Please also look if there are files or directories which have a
-# different copyright/license attached and list them here.
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/manifest.aegis b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/manifest.aegis
deleted file mode 100644
index e69de29bb2..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/manifest.aegis
+++ /dev/null
diff --git a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/rules b/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/rules
deleted file mode 100644
index baa61bc466..0000000000
--- a/demos/video/qmlvideofx/qtc_packaging/debian_harmattan/rules
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-configure: configure-stamp
-
-configure-stamp:
- dh_testdir
- # qmake PREFIX=/usr# Uncomment this line for use without Qt Creator
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- # $(MAKE) # Uncomment this line for use without Qt Creator
- #docbook-to-man debian/qmlvideofx.sgml > qmlvideofx.1
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- $(MAKE) clean
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/qmlvideofx.
- $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/qmlvideofx install
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
-# dh_install
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
-# dh_perl
-# dh_makeshlibs
- dh_installdeb
- # dh_shlibdeps # Uncomment this line for use without Qt Creator
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
-
diff --git a/examples/declarative-systeminfo/battery2/battery2.pro b/examples/declarative-systeminfo/battery2/battery2.pro
index 8c6e2295d3..4da379091a 100644
--- a/examples/declarative-systeminfo/battery2/battery2.pro
+++ b/examples/declarative-systeminfo/battery2/battery2.pro
@@ -15,3 +15,6 @@ symbian {
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
RESOURCES += battery2.qrc
+
+OTHER_FILES += battery2.qml
+
diff --git a/examples/sensors/sensors.pro b/examples/sensors/sensors.pro
index 285af32945..f2b7a615f5 100644
--- a/examples/sensors/sensors.pro
+++ b/examples/sensors/sensors.pro
@@ -25,3 +25,4 @@ SUBDIRS +=\
show_gyroscope\
show_reflectance
+SUBDIRS += shakeit
diff --git a/examples/sensors/shakeit/shakeit.qml b/examples/sensors/shakeit/shakeit.qml
index 019b35b825..a2a6a1eb4b 100644
--- a/examples/sensors/shakeit/shakeit.qml
+++ b/examples/sensors/shakeit/shakeit.qml
@@ -40,7 +40,7 @@
****************************************************************************/
import Qt 4.7
-import QtMobility.sensors 1.1
+import QtMobility.sensors 1.3
import QtMultimediaKit 1.1
Rectangle {
@@ -251,10 +251,10 @@ Rectangle {
//! [1]
id: sensorGesture
//! [3]
- enabled: true
+ Component.onCompleted: enabled = true
//! [3]
//! [2]
- gestures : ["QtSensors.shake", "QtSensors.whip", "QtSensors.twist", "QtSensors.cover",
+ gestures : ["QtSensors.shake2", "QtSensors.whip", "QtSensors.twist", "QtSensors.cover",
"QtSensors.hover", "QtSensors.turnover", "QtSensors.pickup", "QtSensors.slam" , "QtSensors.doubletap"]
//! [2]
//! [4]
diff --git a/plugins/declarative/sensors/qmlsensorgesture.cpp b/plugins/declarative/sensors/qmlsensorgesture.cpp
new file mode 100644
index 0000000000..2225dcf55f
--- /dev/null
+++ b/plugins/declarative/sensors/qmlsensorgesture.cpp
@@ -0,0 +1,266 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qmlsensorgesture.h"
+#include "qsensorgesture.h"
+#include "qsensorgesturemanager.h"
+#include "qsensor.h"
+
+QTM_BEGIN_NAMESPACE
+//#define LOGGESTURQMLAPI
+
+/*!
+ \qmltype SensorGesture
+ \instantiates QmlSensorGesture
+ \inqmlmodule QtSensors 5.0
+ \since QtSensors 5.0
+ \brief Provides notifications when sensor-based gestures are detected.
+
+ This type provides notification when sensor gestures are triggered.
+
+ The following QML code creates a "shake" and "template" SensorGesture QML type, and
+ displays the detected gesture in a text type.
+
+ QtSensors.shake gesture is available with the Qt Sensors API, but the QtSensors.SecondCounter
+ sensor gesture is provided as example code for the \l {Qt Sensors - SensorGesture QML Type example}
+
+ \qml
+ Item {
+ SensorGesture {
+ id: sensorGesture
+ enabled: false
+ gestures : ["QtSensors.shake", "QtSensors.SecondCounter"]
+ onDetected:{
+ detectedText.text = gesture
+ }
+ }
+ Text {
+ id: detectedText
+ x:5
+ y:160
+ text: ""
+ }
+ }
+ \endqml
+
+ \l {Qt Sensor Gestures} contains a list of currently supported sensor gestures and their
+ descriptions.
+
+
+*/
+QmlSensorGesture::QmlSensorGesture(QObject* parent)
+ : QObject(parent)
+ , isEnabled(false)
+ , oldGestureEnabled(false)
+ , initDone(false)
+ , sensorGesture(0)
+ , sensorGestureManager(new QSensorGestureManager(this))
+{
+ connect(sensorGestureManager, SIGNAL(newSensorGestureAvailable()), this, SIGNAL(availableGesturesChanged()));
+}
+
+QmlSensorGesture::~QmlSensorGesture()
+{
+}
+
+/*
+ QQmlParserStatus interface implementation
+*/
+void QmlSensorGesture::classBegin()
+{
+}
+
+void QmlSensorGesture::componentComplete()
+{
+ /*
+ this is needed in the case the customer defines the type(s) and set it enabled = true
+ */
+ initDone = true;
+ setEnabled(isEnabled);
+
+}
+/*
+ End of QQmlParserStatus interface implementation
+*/
+
+/*!
+ \qmlproperty stringlist QtSensors::SensorGesture::availableGestures
+ This property can be used to determine all available gestures on the system.
+*/
+QStringList QmlSensorGesture::availableGestures()
+{
+ return sensorGestureManager->gestureIds();
+}
+
+/*!
+ \qmlproperty stringlist QtSensors::SensorGesture::gestures
+ Set this property to a list of the gestures that the application is interested in detecting.
+ This property cannot be changed while the type is enabled.
+
+ The properties validGestures and invalidGestures will be set as appropriate immediately.
+ To determine all available getures on the system please use the
+ \l {QtSensors::SensorGesture::availableGestures} {availableGestures} property.
+
+ \sa {QtSensorGestures Plugins}
+*/
+QStringList QmlSensorGesture::gestures() const
+{
+ return gestureList;
+}
+
+void QmlSensorGesture::setGestures(const QStringList& value)
+{
+ if (gestureList == value)
+ return;
+
+ if (initDone && enabled()) {
+ qWarning() << "Cannot change gestures while running.";
+ return;
+ }
+ gestureList = value;
+ createGesture();
+ Q_EMIT gesturesChanged();
+}
+
+
+/*!
+ \qmlproperty stringlist QtSensors::SensorGesture::validGestures
+ This property holds the requested gestures that were found on the system.
+*/
+QStringList QmlSensorGesture::validGestures() const
+{
+ if (sensorGesture)
+ return sensorGesture->validIds();
+ return QStringList();
+}
+
+/*!
+ \qmlproperty stringlist QtSensors::SensorGesture::invalidGestures
+ This property holds the requested gestures that were not found on the system.
+*/
+QStringList QmlSensorGesture::invalidGestures() const
+{
+ if (sensorGesture)
+ return sensorGesture->invalidIds();
+ return QStringList();
+}
+
+/*!
+ \qmlproperty bool QtSensors::SensorGesture::enabled
+ This property can be used to activate or deactivate the sensor gesture.
+ Default value is false;
+ \sa {QtSensors::SensorGesture::detected}, {detected}
+*/
+bool QmlSensorGesture::enabled() const
+{
+ return isEnabled;
+}
+
+void QmlSensorGesture::setEnabled(bool value)
+{
+ bool hasChanged = false;
+ if (isEnabled != value) {
+ isEnabled = value;
+ hasChanged = true;
+ }
+ if (!initDone)
+ return;
+
+ if (sensorGesture) {
+ if (value) {
+ sensorGesture->startDetection();
+ } else {
+ sensorGesture->stopDetection();
+ }
+ }
+ if (hasChanged)
+ Q_EMIT enabledChanged();
+
+}
+
+/*!
+ \qmlsignal QtSensors::SensorGesture::detected(string gesture)
+ This signal is emitted whenever a gesture is detected.
+ The gesture parameter contains the gesture that was detected.
+*/
+
+/*
+ private funtion implementation
+*/
+void QmlSensorGesture::deleteGesture()
+{
+ if (sensorGesture) {
+ bool emitInvalidChange = !invalidGestures().isEmpty();
+ bool emitValidChange = !validGestures().isEmpty();
+
+ if (sensorGesture->isActive()) {
+ sensorGesture->stopDetection();
+ }
+ delete sensorGesture;
+ sensorGesture = 0;
+
+ if (emitInvalidChange) {
+ Q_EMIT invalidGesturesChanged();
+ }
+ if (emitValidChange) {
+ Q_EMIT validGesturesChanged();
+ }
+ }
+}
+
+void QmlSensorGesture::createGesture()
+{
+ deleteGesture();
+ if (!validGestures().isEmpty()) {
+ QObject::connect(sensorGesture, SIGNAL(detected(QString)),
+ this , SIGNAL(detected(QString)));
+ Q_EMIT validGesturesChanged();
+ }
+ if (!invalidGestures().isEmpty())
+ Q_EMIT invalidGesturesChanged();
+}
+
+/*
+ End of private funtion implementation
+*/
+
+#include "moc_qmlsensorgesture.cpp"
+
+QTM_END_NAMESPACE
diff --git a/plugins/declarative/sensors/qmlsensorgesture.h b/plugins/declarative/sensors/qmlsensorgesture.h
new file mode 100644
index 0000000000..2a652306ed
--- /dev/null
+++ b/plugins/declarative/sensors/qmlsensorgesture.h
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMLSENSORGESTURE_H
+#define QMLSENSORGESTURE_H
+
+#include <QStringList>
+#include <QObject>
+#include <QMap>
+#include <QDeclarativeParserStatus>
+
+#include <qmobilityglobal.h>
+#include "qsensor.h"
+
+QTM_BEGIN_NAMESPACE
+
+class QSensorGesture;
+class QSensorGestureManager;
+
+class QmlSensorGesture : public QObject, public QDeclarativeParserStatus
+{
+ Q_OBJECT
+ Q_PROPERTY(QStringList availableGestures READ availableGestures NOTIFY availableGesturesChanged)
+ Q_PROPERTY(QStringList gestures READ gestures WRITE setGestures NOTIFY gesturesChanged)
+ Q_PROPERTY(QStringList validGestures READ validGestures NOTIFY validGesturesChanged)
+ Q_PROPERTY(QStringList invalidGestures READ invalidGestures NOTIFY invalidGesturesChanged)
+ Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
+
+public:
+ QmlSensorGesture(QObject* parent = 0);
+ virtual ~QmlSensorGesture();
+ void classBegin();
+ void componentComplete();
+
+Q_SIGNALS:
+ void detected(const QString &gesture);
+ void availableGesturesChanged();
+ void gesturesChanged();
+ void validGesturesChanged();
+ void invalidGesturesChanged();
+ void enabledChanged();
+
+public:
+ QStringList availableGestures();
+ QStringList gestures() const;
+ void setGestures(const QStringList& value);
+ bool enabled() const;
+ void setEnabled(bool value);
+ QStringList validGestures() const;
+ QStringList invalidGestures() const;
+
+private:
+ void deleteGesture();
+ void createGesture();
+
+private:
+ QStringList gestureIds;
+ bool isEnabled;
+ bool oldGestureEnabled;
+ bool initDone;
+ QStringList gestureList;
+
+ QSensorGesture* sensorGesture;
+ QSensorGestureManager* sensorGestureManager;
+};
+QTM_END_NAMESPACE
+
+#endif
diff --git a/plugins/declarative/sensors/sensors.cpp b/plugins/declarative/sensors/sensors.cpp
index aaf5bdcd3e..d4ee8751b0 100644
--- a/plugins/declarative/sensors/sensors.cpp
+++ b/plugins/declarative/sensors/sensors.cpp
@@ -41,6 +41,7 @@
#include <QtDeclarative/qdeclarativeextensionplugin.h>
#include <QtDeclarative/qdeclarative.h>
+#include <QDebug>
#include <qaccelerometer.h>
#include <qambientlightsensor.h>
@@ -52,6 +53,7 @@
#include <qtapsensor.h>
#include <qlightsensor.h>
#include <qgyroscope.h>
+#include "qmlsensorgesture.h"
QT_BEGIN_NAMESPACE
@@ -112,6 +114,34 @@ public:
qmlRegisterUncreatableType<QLightReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightReading"));
qmlRegisterType <QGyroscope >(package, major, minor, "Gyroscope");
qmlRegisterUncreatableType<QGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create GyroscopeReading"));
+
+ major = 1;
+ minor = 3;
+ qmlRegisterUncreatableType<QSensor >(package, major, minor, "Sensor", QLatin1String("Cannot create Sensor "));
+ qmlRegisterUncreatableType<QSensorReading >(package, major, minor, "SensorReading", QLatin1String("Cannot create Sensor Reading"));
+ qmlRegisterType <QAccelerometer >(package, major, minor, "Accelerometer");
+ qmlRegisterUncreatableType<QAccelerometerReading>(package, major, minor, "AccelerometerReading", QLatin1String("Cannot create Accele rometerReading"));
+ qmlRegisterType <QAmbientLightSensor >(package, major, minor, "AmbientLightSensor");
+ qmlRegisterUncreatableType<QAmbientLightReading >(package, major, minor, "AmbientLightReading", QLatin1String("Cannot create Ambien tLightReading"));
+ qmlRegisterType <QCompass >(package, major, minor, "Compass");
+ qmlRegisterUncreatableType<QCompassReading >(package, major, minor, "CompassReading", QLatin1String("Cannot create Compas sReading"));
+ qmlRegisterType <QMagnetometer >(package, major, minor, "Magnetometer");
+ qmlRegisterUncreatableType<QMagnetometerReading >(package, major, minor, "MagnetometerReading", QLatin1String("Cannot create Magnet ometerReading"));
+ qmlRegisterType <QOrientationSensor >(package, major, minor, "OrientationSensor");
+ qmlRegisterUncreatableType<QOrientationReading >(package, major, minor, "OrientationReading", QLatin1String("Cannot create Orient ationReading"));
+ qmlRegisterType <QProximitySensor >(package, major, minor, "ProximitySensor");
+ qmlRegisterUncreatableType<QProximityReading >(package, major, minor, "ProximityReading", QLatin1String("Cannot create Proxim ityReading"));
+ qmlRegisterType <QRotationSensor >(package, major, minor, "RotationSensor");
+ qmlRegisterUncreatableType<QRotationReading >(package, major, minor, "RotationReading", QLatin1String("Cannot create Rotati onReading"));
+ qmlRegisterType <QTapSensor >(package, major, minor, "TapSensor");
+ qmlRegisterUncreatableType<QTapReading >(package, major, minor, "TapReading", QLatin1String("Cannot create TapRea ding"));
+ qmlRegisterType <QLightSensor >(package, major, minor, "LightSensor");
+ qmlRegisterUncreatableType<QLightReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightR eading"));
+ qmlRegisterType <QGyroscope >(package, major, minor, "Gyroscope");
+ qmlRegisterUncreatableType<QGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create Gyrosc opeReading"));
+
+ qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
+
}
};
diff --git a/plugins/declarative/sensors/sensors.pro b/plugins/declarative/sensors/sensors.pro
index 6503b53619..5470d405dd 100644
--- a/plugins/declarative/sensors/sensors.pro
+++ b/plugins/declarative/sensors/sensors.pro
@@ -1,6 +1,8 @@
include(../../../features/utils.pri)
-INCLUDEPATH += ../../../src/sensors
+INCLUDEPATH += $${QT_MOBILITY_SOURCE_TREE}/src/sensors
+INCLUDEPATH += $${QT_MOBILITY_SOURCE_TREE}/src/sensors/gestures
+
INCLUDEPATH += ../../../src/global
TEMPLATE = lib
@@ -12,7 +14,9 @@ include(../../../common.pri)
QT += declarative
-SOURCES += sensors.cpp
+SOURCES += sensors.cpp \
+qmlsensorgesture.cpp
+HEADERS += qmlsensorgesture.h
CONFIG += mobility
MOBILITY += sensors
diff --git a/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp b/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp
index a092f35979..21927cb3ce 100644
--- a/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp
+++ b/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp
@@ -81,6 +81,7 @@ bool QCoverSensorGestureRecognizer::start()
QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Proximity);
active = false;
}
+
} else {
active = false;
}
@@ -114,6 +115,7 @@ void QCoverSensorGestureRecognizer::proximityChanged(QProximityReading *reading)
proximityReading = reading->close();
+
// look at case of face up->face down->face up.
if (orientationReading->orientation() == QOrientationReading::FaceUp
&& proximityReading) {
diff --git a/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp b/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
index 6eb5e14230..3b17c6c53f 100644
--- a/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
+++ b/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-#include <QDebug>
#include <QTimer>
#include "qshake2recognizer.h"
diff --git a/plugins/sensorgestures/qtsensors/qshake2recognizer.h b/plugins/sensorgestures/qtsensors/qshake2recognizer.h
index 121e5861a5..47932a80cb 100644
--- a/plugins/sensorgestures/qtsensors/qshake2recognizer.h
+++ b/plugins/sensorgestures/qtsensors/qshake2recognizer.h
@@ -42,7 +42,6 @@
#ifndef QSHAKERECOGNIZER_H
#define QSHAKERECOGNIZER_H
-#include <QDebug>
#include <QTimer>
#include <qsensorgesturerecognizer.h>
diff --git a/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp b/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp
index e12636da50..a2f8b151a2 100644
--- a/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp
+++ b/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp
@@ -39,7 +39,8 @@
**
****************************************************************************/
-#include <QDebug>
+#include <QStringList>
+#include <QTimer>
#include "qtsensorgesturesensorhandler.h"
@@ -94,7 +95,16 @@ bool QtSensorGestureSensorHandler::startSensor(SensorGestureSensors sensor)
if (accel == 0x0) {
accel = new QAccelerometer(this);
ok = accel->connectToBackend();
- accel->setDataRate(50);
+// qrangelist rangeList = accel->availableDataRates();
+
+// QStringList ranges;
+// foreach (const qrange &range, rangeList) {
+// if (range.first == range.second)
+// ranges << QString("%1 Hz").arg(range.first);
+// else
+// ranges << QString("%1-%2 Hz").arg(range.first).arg(range.second);
+// }
+ accel->setDataRate(100);
qoutputrangelist outputranges = accel->outputRanges();
if (outputranges.count() > 0)
@@ -111,11 +121,13 @@ bool QtSensorGestureSensorHandler::startSensor(SensorGestureSensors sensor)
if (orientation == 0x0) {
orientation = new QOrientationSensor(this);
ok = orientation->connectToBackend();
- orientation->setDataRate(50);
+ orientation->setDataRate(100);
connect(orientation,SIGNAL(readingChanged()),this,SLOT(orientationChanged()));
}
- if (ok && !orientation->isActive())
+ if (ok && !orientation->isActive()) {
orientation->start();
+ QTimer::singleShot(100,this,SLOT(orientationChanged()));
+ }
break;
case Proximity:
//proximity
@@ -124,8 +136,9 @@ bool QtSensorGestureSensorHandler::startSensor(SensorGestureSensors sensor)
ok = proximity->connectToBackend();
connect(proximity,SIGNAL(readingChanged()),this,SLOT(proximityChanged()));
}
- if (ok && !proximity->isActive())
+ if (ok && !proximity->isActive()) {
proximity->start();
+ }
break;
case IrProximity:
// //irproximity
@@ -156,7 +169,6 @@ bool QtSensorGestureSensorHandler::startSensor(SensorGestureSensors sensor)
void QtSensorGestureSensorHandler::stopSensor(SensorGestureSensors sensor)
{
- // qDebug() << __FUNCTION__ << sensor;
if (usedSensorsMap.value(sensor) == 0)
return;
int val = usedSensorsMap.value(sensor);
diff --git a/src/sensors/gestures/qsensorgesture.cpp b/src/sensors/gestures/qsensorgesture.cpp
index 467b3a5daf..b150dffd2d 100644
--- a/src/sensors/gestures/qsensorgesture.cpp
+++ b/src/sensors/gestures/qsensorgesture.cpp
@@ -76,10 +76,13 @@ QTM_BEGIN_NAMESPACE
QSensorGesture::QSensorGesture(const QStringList &ids, QObject *parent) :
QObject(parent)
{
+ qDebug() << Q_FUNC_INFO;
+
d_ptr = new QSensorGesturePrivate();
Q_FOREACH (const QString &id, ids) {
QSensorGestureRecognizer * rec = QSensorGestureManager::sensorGestureRecognizer(id);
if (rec != 0) {
+ qDebug() << "append" << rec->id();
d_ptr->m_sensorRecognizers.append(rec);
d_ptr->availableIds.append(id);
} else {
@@ -94,14 +97,14 @@ QSensorGesture::QSensorGesture(const QStringList &ids, QObject *parent) :
// builder.setSuperClass(&QObject::staticMetaObject);
// builder.setClassName("QSensorGesture");
-// Q_FOREACH (QSensorGestureRecognizer *recognizer, d_ptr->m_sensorRecognizers) {
+ Q_FOREACH (QSensorGestureRecognizer *recognizer, d_ptr->m_sensorRecognizers) {
// Q_FOREACH (const QString &gesture, recognizer->gestureSignals()) {
// QMetaMethodBuilder b = builder.addSignal(gesture.toLatin1());
// if (!d_ptr->localGestureSignals.contains(QLatin1String(b.signature())))
// d_ptr->localGestureSignals.append(QLatin1String(b.signature()));
// }
-// recognizer->createBackend();
-// }
+ recognizer->createBackend();
+ }
// d_ptr->meta = builder.toMetaObject();
if (d_ptr->m_sensorRecognizers.count() > 0) {
@@ -141,8 +144,11 @@ QStringList QSensorGesture::invalidIds() const
*/
void QSensorGesture::startDetection()
{
- if (d_ptr->m_sensorRecognizers.count() < 1)
+ qDebug() << Q_FUNC_INFO;
+ if (d_ptr->m_sensorRecognizers.count() < 1) {
+ qDebug() << Q_FUNC_INFO << "count is" << d_ptr->m_sensorRecognizers.count();
return;
+ }
if (d_ptr->isActive)
return;
diff --git a/src/sensors/gestures/qsensorgesturemanager.cpp b/src/sensors/gestures/qsensorgesturemanager.cpp
index 77c6e15882..cc92c2c594 100644
--- a/src/sensors/gestures/qsensorgesturemanager.cpp
+++ b/src/sensors/gestures/qsensorgesturemanager.cpp
@@ -38,6 +38,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+#include <QDebug>
#include "qsensorgesturemanager.h"
#include "qsensorgesturemanagerprivate_p.h"
@@ -68,6 +69,7 @@ QTM_BEGIN_NAMESPACE
QSensorGestureManager::QSensorGestureManager(QObject *parent)
: QObject(parent)
{
+ qDebug() << Q_FUNC_INFO;
QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
if (!d) return; // hardly likely but just in case...
connect(d,SIGNAL(newSensorGestureAvailable()),
@@ -91,6 +93,8 @@ QSensorGestureManager::~QSensorGestureManager()
bool QSensorGestureManager::registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer)
{
+ qDebug() << Q_FUNC_INFO << recognizer->id();
+
QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
if (!d) { // hardly likely but just in case...
delete recognizer;
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
index 6e4782850c..7cf94bd966 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
@@ -41,6 +41,7 @@
#include <QDir>
#include <QLibraryInfo>
+#include <QDebug>
#include "qsensorgesturemanagerprivate_p.h"
#include "qsensorgesturerecognizer.h"
@@ -134,6 +135,7 @@ void QSensorGestureManagerPrivate::loadPlugins()
bool QSensorGestureManagerPrivate::loadRecognizer(const QString &recognizerId)
{
//if no plugin is used return true if this is a registered recognizer
+// qDebug() << Q_FUNC_INFO << recognizerId;
if (registeredSensorGestures.contains(recognizerId))
return true;
diff --git a/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro b/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro
new file mode 100644
index 0000000000..de73fd0b19
--- /dev/null
+++ b/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro
@@ -0,0 +1,19 @@
+TEMPLATE = app
+TARGET = tst_qsensorgesturepluginstest
+!no_system_tests:CONFIG += testcase
+
+QT += core testlib sensors
+QT -= gui
+
+SOURCES += tst_qsensorgesturepluginstest.cpp
+
+VPATH += ../qsensor
+INCLUDEPATH += ../qsensor
+DEPENDPATH += ../qsensor
+
+HEADERS += \
+ test_backends.h
+
+SOURCES += \
+ test_backends.cpp
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp b/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp
new file mode 100644
index 0000000000..486a26e2fc
--- /dev/null
+++ b/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp
@@ -0,0 +1,215 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QString>
+#include <QtTest/QtTest>
+
+#include <QVariant>
+#include <QSignalSpy>
+
+#include <qsensorgesture.h>
+#include <qsensorgesturemanager.h>
+
+#include <qsensorgesturerecognizer.h>
+#include <qsensorgestureplugininterface.h>
+
+#include "test_backends.h"
+
+class Tst_qsensorgesturePluginsTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ Tst_qsensorgesturePluginsTest();
+
+private Q_SLOTS:
+
+ void tst_sensor_plugins_shake();
+ void tst_sensor_plugins_qtsensors_data();
+ void tst_sensor_plugins_qtsensors();
+ void tst_sensor_plugins_qtsensors_all();
+
+};
+
+Tst_qsensorgesturePluginsTest::Tst_qsensorgesturePluginsTest()
+{
+ qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
+ register_test_backends();
+}
+
+void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_shake()
+{
+
+ QSensorGestureManager manager;
+ QVERIFY(manager.gestureIds().contains("QtSensors.shake"));
+
+ QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.shake");
+
+ QCOMPARE(recognizer->isActive(), false);
+
+ QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized ");
+ recognizer->startBackend();
+ QCOMPARE(recognizer->isActive(), false);
+
+ QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized ");
+ recognizer->stopBackend();
+ QCOMPARE(recognizer->isActive(), false);
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.shake"));
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(gesture->validIds(), QStringList() << "QtSensors.shake");
+
+ QCOMPARE(QStringList() << recognizer->id(), gesture->validIds());
+
+ gesture->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+ QCOMPARE(recognizer->isActive(), true);
+
+ gesture->stopDetection();
+ QCOMPARE(recognizer->isActive(), false);
+}
+
+void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors_data()
+{
+ QTest::addColumn<QString>("gestureId");
+
+ QTest::newRow("QtSensors.cover") << "QtSensors.cover";
+
+ QTest::newRow("QtSensors.doubletap") << "QtSensors.doubletap";
+
+ QTest::newRow("QtSensors.hover") << "QtSensors.hover";
+ QTest::newRow("QtSensors.hover") << "QtSensors.hover";
+ QTest::newRow("QtSensors.shake2") << "QtSensors.shake2";
+ QTest::newRow("QtSensors.slam") << "QtSensors.slam";
+ QTest::newRow("QtSensors.turnover") << "QtSensors.turnover";
+ QTest::newRow("QtSensors.twist") << "QtSensors.twist";
+ QTest::newRow("QtSensors.whip") << "QtSensors.whip";
+}
+
+void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors()
+{
+ QFETCH(QString, gestureId);
+ QSensorGestureManager manager;
+
+ QVERIFY(manager.gestureIds().contains(gestureId));
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestureId));
+ QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << gestureId));
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(gesture->validIds(), QStringList() << gestureId);
+
+ QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer(gestureId);
+
+ QCOMPARE(QStringList() << recognizer->id(), gesture->validIds());
+
+ QCOMPARE(QStringList() << QStringList(), gesture->invalidIds());
+
+ QVERIFY(recognizer->isActive() == false);
+ QVERIFY(gesture->isActive() == false);
+ QVERIFY(gesture2->isActive() == false);
+
+ gesture->startDetection();
+
+ QVERIFY(gesture->isActive() == true);
+ QVERIFY(gesture2->isActive() == false);
+
+ QVERIFY(recognizer->isActive() == true);
+
+ gesture2->startDetection();
+
+ QVERIFY(gesture->isActive() == true);
+ QVERIFY(gesture2->isActive() == true);
+ QVERIFY(recognizer->isActive() == true);
+
+ gesture2->stopDetection();
+
+ QVERIFY(gesture->isActive() == true);
+ QVERIFY(gesture2->isActive() == false);
+ QVERIFY(recognizer->isActive() == true);
+
+ gesture->stopDetection();
+
+ QVERIFY(gesture->isActive() == false);
+ QVERIFY(gesture2->isActive() == false);
+ QVERIFY(recognizer->isActive() == false);
+
+
+ QVERIFY(recognizer->gestureSignals().count() > 1);
+ QVERIFY(recognizer->gestureSignals().contains("detected(QString)"));
+
+}
+
+void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors_all()
+{
+ QStringList list;
+ list << "QtSensors.cover";
+ list << "QtSensors.doubletap";
+ list << "QtSensors.hover";
+ list << "QtSensors.pickup";
+ list << "QtSensors.shake2";
+ list << "QtSensors.slam";
+ list << "QtSensors.turnover";
+ list << "QtSensors.twist";
+ list << "QtSensors.whip";
+
+ QSensorGestureManager manager;
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(list));
+ QVERIFY(gesture->invalidIds().count() == 0);
+ QVERIFY(gesture->validIds().count() == 9);
+ QVERIFY(gesture->gestureSignals().count() == 14);
+
+ gesture->startDetection();
+ QVERIFY(gesture->isActive());
+
+ QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.turnover");
+ recognizer->stopBackend();
+ QVERIFY(!recognizer->isActive());
+ QVERIFY(gesture->isActive());
+
+}
+
+
+QTEST_MAIN(Tst_qsensorgesturePluginsTest);
+
+#include "tst_qsensorgesturepluginstest.moc"
diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp
new file mode 100644
index 0000000000..0315f75800
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qtest2recognizer.h"
+
+#include "qtestsensorgestureplugin_p.h"
+
+QTest2Recognizer::QTest2Recognizer(QObject *parent)
+ : QSensorGestureRecognizer(parent),
+ active(0)
+{
+}
+
+QTest2Recognizer::~QTest2Recognizer()
+{
+}
+
+bool QTest2Recognizer::start()
+{
+ Q_EMIT test2();
+
+ Q_EMIT detected("test2");
+
+ Q_EMIT test3(true);
+ active = true;
+
+ return true;
+}
+
+bool QTest2Recognizer::stop()
+{
+ active = false;
+ return true;
+}
+
+bool QTest2Recognizer::isActive()
+{
+ return active;
+}
+
+
+void QTest2Recognizer::create()
+{
+ active = false;
+}
+
+QString QTest2Recognizer::id() const
+{
+ return QString("QtSensors.test2");
+}
+
+int QTest2Recognizer::thresholdTime() const
+{
+ return timerTimeout;
+}
+
+void QTest2Recognizer::setThresholdTime(int msec)
+{
+ timer->setInterval(msec);
+}
+
diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h
new file mode 100644
index 0000000000..1d68c77bb9
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QTEST2RECOGNIZER_H
+#define QTEST2RECOGNIZER_H
+
+#include <qsensorgesturerecognizer.h>
+
+class QTest2Recognizer : public QSensorGestureRecognizer
+{
+ Q_OBJECT
+
+public:
+ QTest2Recognizer(QObject *parent = 0);
+ ~QTest2Recognizer();
+
+ void create();
+
+ QString id() const;
+ bool start();
+ bool stop();
+ bool isActive();
+
+ int thresholdTime() const;
+ void setThresholdTime(int msec);
+
+Q_SIGNALS:
+ void test2();
+ void test3(bool);
+
+private:
+ int timerTimeout;
+ QTimer *timer;
+ bool active;
+};
+
+
+#endif // QTEST2RECOGNIZER_H
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp
new file mode 100644
index 0000000000..1590e9c668
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QStringList>
+#include <QTimer>
+
+#include "qtestrecognizer.h"
+#include "qtestsensorgestureplugin_p.h"
+
+
+QTestRecognizer::QTestRecognizer(QObject *parent)
+ : QSensorGestureRecognizer(parent),
+ active(0)
+{
+ timeout();
+}
+
+QTestRecognizer::~QTestRecognizer()
+{
+}
+
+void QTestRecognizer::timeout()
+{
+ Q_EMIT detected("tested");
+ Q_EMIT tested();
+ QTimer::singleShot(10,this, SLOT(timeout()));
+}
+
+
+bool QTestRecognizer::start()
+{
+ Q_EMIT detected("tested");
+ Q_EMIT tested();
+ active = true;
+ return true;
+}
+
+bool QTestRecognizer::stop()
+{
+ active = false;
+ return true;
+}
+
+bool QTestRecognizer::isActive()
+{
+ return active;
+}
+
+void QTestRecognizer::create()
+{
+ active = false;
+}
+
+QString QTestRecognizer::id() const
+{
+ return QString("QtSensors.test");
+}
+
+
+int QTestRecognizer::thresholdTime() const
+{
+ return timerTimeout;
+}
+
+void QTestRecognizer::setThresholdTime(int msec)
+{
+ timer->setInterval(msec);
+}
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h
new file mode 100644
index 0000000000..3cc2148699
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QTESTRECOGNIZER_H
+#define QTESTRECOGNIZER_H
+
+#include <qsensorgesturerecognizer.h>
+
+class QTestRecognizer : public QSensorGestureRecognizer
+{
+ Q_OBJECT
+ Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime)
+
+public:
+
+ QTestRecognizer(QObject *parent = 0);
+ ~QTestRecognizer();
+
+ void create();
+
+ QString id() const;
+ bool start();
+ bool stop();
+ bool isActive();
+
+ int thresholdTime() const;
+ void setThresholdTime(int msec);
+
+Q_SIGNALS:
+ void tested();
+
+private:
+ int timerTimeout;
+ QTimer *timer;
+ bool active;
+
+public slots:
+ void timeout();
+};
+
+#endif // QTESTRECOGNIZER_H
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp
new file mode 100644
index 0000000000..9b210bc39c
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QObject>
+#include <QtPlugin>
+#include <QStringList>
+#include <QTimer>
+#include <QTest>
+
+#include "qtestrecognizer.h"
+#include "qtest2recognizer.h"
+
+#include "qtestsensorgestureplugin_p.h"
+
+#include <qsensorgestureplugininterface.h>
+#include <qsensorgesturerecognizer.h>
+#include <qsensorgesturemanager.h>
+
+
+QTestSensorGesturePlugin::QTestSensorGesturePlugin()
+{
+}
+
+QTestSensorGesturePlugin::~QTestSensorGesturePlugin()
+{
+}
+
+
+///*!
+// Describes this gesture's possible gesture signals.
+//handled through the detected(const QString &) signal.
+// */
+//QStringList QTestSensorGesturePlugin::gestureSignals() const
+//{
+// QStringList list;
+// Q_FOREACH (const QSensorGestureRecognizer* rec, recognizersList) {
+// list.append(rec->gestureSignals());
+// }
+// return list;
+//}
+
+QList <QSensorGestureRecognizer *> QTestSensorGesturePlugin::createRecognizers()
+{
+ QSensorGestureRecognizer *sRec = new QTestRecognizer(this);
+ recognizersList.append(sRec);
+
+ QSensorGestureRecognizer *sRec2 = new QTest2Recognizer(this);
+ recognizersList.append(sRec2);
+
+ return recognizersList;
+}
+
+QStringList QTestSensorGesturePlugin::supportedIds() const
+{
+ QStringList list;
+ list << "QtSensors.test";
+ list <<"QtSensors.test2";
+
+ return list;
+}
+
+QList<QSensorGestureRecognizer*> QTestSensorGesturePlugin::recognizers() const
+{
+ return recognizersList;
+}
+
+QString QTestSensorGesturePlugin::name() const
+{
+ return "TestGestures";
+}
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h
new file mode 100644
index 0000000000..383dd39b6e
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QTESTSENSORGESTUREPLUGIN_P_H
+#define QTESTSENSORGESTUREPLUGIN_P_H
+
+#include <QObject>
+#include <qsensorgestureplugininterface.h>
+
+class QTestSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface")
+ Q_INTERFACES(QSensorGesturePluginInterface)
+
+public:
+ explicit QTestSensorGesturePlugin();
+ ~QTestSensorGesturePlugin();
+
+ QList <QSensorGestureRecognizer *> createRecognizers();
+
+// QStringList gestureSignals() const;
+ QStringList supportedIds() const;
+ QString name() const;
+
+ QList<QSensorGestureRecognizer*> recognizers() const;
+
+ QList<QSensorGestureRecognizer*> recognizersList;
+
+};
+
+
+
+#endif // QTESTSENSORGESTUREPLUGIN_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp
new file mode 100644
index 0000000000..ff9c323105
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qtest2recognizerdup.h"
+
+#include "qtestsensorgestureplugindup.h"
+
+QTest2RecognizerDup::QTest2RecognizerDup(QObject *parent)
+ : QSensorGestureRecognizer(parent),
+ active(0)
+{
+}
+
+QTest2RecognizerDup::~QTest2RecognizerDup()
+{
+}
+
+bool QTest2RecognizerDup::start()
+{
+ Q_EMIT test2_dup();
+
+ active = true;
+
+ return true;
+}
+
+bool QTest2RecognizerDup::stop()
+{
+ active = false;
+ return true;
+}
+
+bool QTest2RecognizerDup::isActive()
+{
+ return active;
+}
+
+
+void QTest2RecognizerDup::create()
+{
+ active = false;
+}
+
+QString QTest2RecognizerDup::id() const
+{
+ return QString("QtSensors.test.dup");
+}
+
+int QTest2RecognizerDup::thresholdTime() const
+{
+ return timerTimeout;
+}
+
+void QTest2RecognizerDup::setThresholdTime(int msec)
+{
+ timer->setInterval(msec);
+}
+
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h
new file mode 100644
index 0000000000..8716cc76bf
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTEST2RECOGNIZERDUP_H
+#define QTEST2RECOGNIZERDUP_H
+
+#include <qsensorgesturerecognizer.h>
+
+class QTest2RecognizerDup : public QSensorGestureRecognizer
+{
+ Q_OBJECT
+
+public:
+ QTest2RecognizerDup(QObject *parent = 0);
+ ~QTest2RecognizerDup();
+
+ void create();
+
+ QString id() const;
+ bool start();
+ bool stop();
+ bool isActive();
+
+ int thresholdTime() const;
+ void setThresholdTime(int msec);
+
+Q_SIGNALS:
+ void test2_dup();
+
+private:
+ int timerTimeout;
+ QTimer *timer;
+ bool active;
+};
+
+
+#endif // QTEST2RECOGNIZERDUP_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp
new file mode 100644
index 0000000000..9cc9ba1f21
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QStringList>
+
+#include "qtestrecognizerdup.h"
+#include "qtestsensorgestureplugindup.h"
+
+QTestRecognizerDup::QTestRecognizerDup(QObject *parent)
+ : QSensorGestureRecognizer(parent),
+ active(0)
+{
+}
+
+QTestRecognizerDup::~QTestRecognizerDup()
+{
+}
+
+bool QTestRecognizerDup::start()
+{
+ active = true;
+ Q_EMIT detected("test2_dup");
+ Q_EMIT test2_dup();
+ return true;
+}
+
+bool QTestRecognizerDup::stop()
+{
+ active = false;
+ return true;
+}
+
+bool QTestRecognizerDup::isActive()
+{
+ return active;
+}
+
+void QTestRecognizerDup::create()
+{
+ active = false;
+}
+
+QString QTestRecognizerDup::id() const
+{
+ return QString("QtSensors.test.dup");
+}
+
+
+int QTestRecognizerDup::thresholdTime() const
+{
+ return timerTimeout;
+}
+
+void QTestRecognizerDup::setThresholdTime(int msec)
+{
+ timer->setInterval(msec);
+}
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h
new file mode 100644
index 0000000000..2694b10918
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QTESTRECOGNIZERDUP_H
+#define QTESTRECOGNIZERDUP_H
+
+#include <qsensorgesturerecognizer.h>
+
+class QTestRecognizerDup : public QSensorGestureRecognizer
+{
+ Q_OBJECT
+ Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime)
+
+public:
+
+ QTestRecognizerDup(QObject *parent = 0);
+ ~QTestRecognizerDup();
+
+ void create();
+
+ QString id() const;
+ bool start();
+ bool stop();
+ bool isActive();
+
+ int thresholdTime() const;
+ void setThresholdTime(int msec);
+
+Q_SIGNALS:
+ void test2_dup();
+
+private:
+ int timerTimeout;
+ QTimer *timer;
+ bool active;
+
+};
+
+#endif // QTESTRECOGNIZERDUP_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp
new file mode 100644
index 0000000000..4529a449b1
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QObject>
+#include <QtPlugin>
+#include <QStringList>
+#include <QTimer>
+
+#include "qtestrecognizerdup.h"
+#include "qtest2recognizerdup.h"
+
+#include "qtestsensorgestureplugindup.h"
+
+#include <qsensorgestureplugininterface.h>
+#include <qsensorgesturerecognizer.h>
+#include <qsensorgesturemanager.h>
+
+
+QTestSensorGestureDupPlugin::QTestSensorGestureDupPlugin()
+{
+}
+
+QTestSensorGestureDupPlugin::~QTestSensorGestureDupPlugin()
+{
+}
+
+/*!
+ Describes this gesture's possible gesture signals.
+handled through the detected(const QString &) signal.
+ */
+QStringList QTestSensorGestureDupPlugin::gestureSignals() const
+{
+ QStringList list;
+ Q_FOREACH (const QSensorGestureRecognizer* rec,recognizersList) {
+ list.append(rec->gestureSignals());
+ }
+ return list;
+}
+
+QList <QSensorGestureRecognizer *> QTestSensorGestureDupPlugin::createRecognizers()
+{
+ QSensorGestureRecognizer *sRec = new QTestRecognizerDup(this);
+ recognizersList.append(sRec);
+
+ QSensorGestureRecognizer *sRec2 = new QTest2RecognizerDup(this);
+ recognizersList.append(sRec2);
+
+ return recognizersList;
+}
+
+QStringList QTestSensorGestureDupPlugin::supportedIds() const
+{
+ QStringList list;
+ list << "QtSensors.test.dup";
+ list << "QtSensors.test.dup";
+
+ return list;
+}
+
+QList<QSensorGestureRecognizer*> QTestSensorGestureDupPlugin::recognizers() const
+{
+ return recognizersList;
+}
+
+QString QTestSensorGestureDupPlugin::name() const
+{
+ return "TestGesturesDup";
+}
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h
new file mode 100644
index 0000000000..42d01f4028
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QTESTSENSORGESTUREDUPPLUGIN_H
+#define QTESTSENSORGESTUREDUPPLUGIN_H
+
+#include <QObject>
+#include <qsensorgestureplugininterface.h>
+
+class QTestSensorGestureDupPlugin : public QObject, public QSensorGesturePluginInterface
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface")
+ Q_INTERFACES(QSensorGesturePluginInterface)
+
+public:
+ explicit QTestSensorGestureDupPlugin();
+ ~QTestSensorGestureDupPlugin();
+
+
+ QList <QSensorGestureRecognizer *> createRecognizers();
+
+ QStringList gestureSignals() const;
+ QStringList supportedIds() const;
+ QString name() const;
+
+ QList<QSensorGestureRecognizer*> recognizers() const;
+
+ QList<QSensorGestureRecognizer*> recognizersList;
+
+};
+
+
+
+#endif // QTESTSENSORGESTUREDUPPLUGIN_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/test1.pro b/tests/auto/qsensorgestures/plugins/test1/test1.pro
new file mode 100644
index 0000000000..17fc6b19e9
--- /dev/null
+++ b/tests/auto/qsensorgestures/plugins/test1/test1.pro
@@ -0,0 +1,19 @@
+TEMPLATE = lib
+CONFIG += plugin
+
+TARGET = qtsensorgestures_testplugin1
+
+QT += sensors sensorgestures
+DESTDIR = $$QT.sensorgestures.plugins/sensorgestures
+
+# Input
+HEADERS += qtestsensorgestureplugindup_p.h \
+ qtestrecognizerdup.h \
+ qtest2recognizerdup.h
+SOURCES += qtestsensorgestureplugindup.cpp \
+ qtestrecognizerdup.cpp \
+ qtest2recognizerduo.cpp
+
+target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures
+INSTALLS += target
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qsensorgestures/qsensorgestures.pro b/tests/auto/qsensorgestures/qsensorgestures.pro
new file mode 100644
index 0000000000..cefae56bd6
--- /dev/null
+++ b/tests/auto/qsensorgestures/qsensorgestures.pro
@@ -0,0 +1,38 @@
+TEMPLATE = app
+TARGET = tst_qsensorgesturetest
+CONFIG += testcase
+DEFINES += QT_STATICPLUGIN
+INCLUDEPATH += $${QT_MOBILITY_SOURCE_TREE}/src/global
+INCLUDEPATH += $${QT_MOBILITY_SOURCE_TREE}/src/sensors
+INCLUDEPATH += $${QT_MOBILITY_SOURCE_TREE}/src/sensors/gestures
+
+QT += core testlib sensors
+QT -= gui
+
+SOURCES += tst_qsensorgesturetest.cpp
+
+
+PLUGIN_1_HEADERS = \
+ plugins/test1/qtestsensorgestureplugindup.h \
+ plugins/test1/qtestrecognizerdup.h \
+ plugins/test1/qtest2recognizerdup.h
+
+PLUGIN_1_SOURCES = \
+ plugins/test1/qtestsensorgestureplugindup.cpp \
+ plugins/test1/qtestrecognizerdup.cpp \
+ plugins/test1/qtest2recognizerdup.cpp
+
+HEADERS += $$PLUGIN_1_HEADERS
+SOURCES += $$PLUGIN_1_SOURCES
+
+HEADERS += \
+ plugins/test/qtestsensorgestureplugin_p.h \
+ plugins/test/qtestrecognizer.h \
+ plugins/test/qtest2recognizer.h
+
+SOURCES += \
+ plugins/test/qtestsensorgestureplugin.cpp \
+ plugins/test/qtestrecognizer.cpp \
+ plugins/test/qtest2recognizer.cpp
+
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
new file mode 100644
index 0000000000..ab1238dda7
--- /dev/null
+++ b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
@@ -0,0 +1,629 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QtCore/QString>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <QVariant>
+#include <QSignalSpy>
+
+#include <qsensorgesture.h>
+#include <qsensorgesturemanager.h>
+
+#include <qsensorgesturerecognizer.h>
+#include <qsensorgestureplugininterface.h>
+
+Q_IMPORT_PLUGIN(QTestSensorGesturePlugin)
+Q_IMPORT_PLUGIN(QTestSensorGestureDupPlugin)
+QTM_USE_NAMESPACE
+static QString removeParens(const QString &arg)
+{
+ return arg.left(arg.indexOf("("));
+}
+
+class QSensorGestureWithSlots : public QObject
+{
+ Q_OBJECT
+public:
+ QSensorGestureWithSlots(const QStringList &ids)
+ : gesture(new QSensorGesture(ids, this))
+ {
+ }
+
+ QSensorGesture *gesture;
+
+public slots:
+ void startDetection()
+ {
+ gesture->startDetection();
+ }
+
+ void stopDetection()
+ {
+ gesture->stopDetection();
+ }
+};
+
+class QTest3Recognizer : public QSensorGestureRecognizer
+{
+ Q_OBJECT
+
+public:
+
+ QTest3Recognizer(QObject *parent = 0);
+
+ void create();
+
+ QString id() const;
+ bool start() ;
+ bool stop();
+ bool isActive();
+ void changeId(const QString &);
+
+ QString recognizerId;
+};
+
+QTest3Recognizer::QTest3Recognizer(QObject *parent) : QSensorGestureRecognizer(parent),
+ recognizerId("QtSensors/test3"){}
+
+void QTest3Recognizer::create(){}
+
+QString QTest3Recognizer::id() const{ return recognizerId; }
+bool QTest3Recognizer::start(){return true;}
+bool QTest3Recognizer::stop() { return true;}
+bool QTest3Recognizer::isActive() { return true; }
+void QTest3Recognizer::changeId(const QString &id)
+{
+ recognizerId = id;
+}
+
+
+class Tst_qsensorgestureTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ Tst_qsensorgestureTest();
+
+private Q_SLOTS:
+ void tst_sensor_gesture_notinitialized();
+
+ void tst_recognizer_dup(); //comes first to weed out messages
+
+ void tst_manager();
+ void tst_manager_gestureids();
+ void tst_manager_recognizerSignals();
+ void tst_manager_registerSensorGestureRecognizer();
+ void tst_manager__newSensorAvailable();
+
+ void tst_sensor_gesture_signals();
+ void tst_sensor_gesture_threaded();
+
+ void tst_sensor_gesture();
+
+ void tst_recognizer();
+
+ void tst_sensorgesture_noid();
+
+ void tst_sensor_gesture_multi();
+
+ void shakeDetected(const QString &);
+
+
+private:
+ QString currentSignal;
+};
+
+Tst_qsensorgestureTest::Tst_qsensorgestureTest()
+{
+}
+
+void Tst_qsensorgestureTest::tst_recognizer_dup()
+{
+ QStringList idList;
+ {
+// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known. ");
+ QSensorGestureManager manager;
+ idList = manager.gestureIds();
+
+ for (int i = 0; i < idList.count(); i++) {
+ if (idList.at(i) == "QtSensors.test.dup")
+ QTest::ignoreMessage(QtWarningMsg, "Ignoring recognizer \"QtSensors.test.dup\" from plugin \"TestGesturesDup\" because it is already registered ");
+ QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
+
+ QVERIFY(!recognizerSignalsList.contains("QtSensors.test2"));
+ }
+
+ QScopedPointer<QSensorGesture> sensorGesture(new QSensorGesture(idList));
+ QVERIFY(sensorGesture->validIds().contains("QtSensors.test2"));
+ QVERIFY(sensorGesture->validIds().contains("QtSensors.test"));
+ QVERIFY(sensorGesture->validIds().contains("QtSensors.test.dup"));
+ }
+
+ QScopedPointer<QSensorGesture> thisGesture;
+ QString plugin;
+ plugin = "QtSensors.test2";
+ thisGesture.reset(new QSensorGesture(QStringList() << plugin));
+ QVERIFY(thisGesture->validIds().contains("QtSensors.test2"));
+
+ plugin = "QtSensors.test.dup";
+ thisGesture.reset(new QSensorGesture(QStringList() << plugin));
+ QVERIFY(!thisGesture->validIds().contains("QtSensors.test2"));
+}
+
+void Tst_qsensorgestureTest::tst_manager()
+{
+ QSensorGestureManager *manager2;
+ manager2 = new QSensorGestureManager(this);
+ QVERIFY(manager2 != 0);
+ delete manager2;
+}
+
+void Tst_qsensorgestureTest::tst_manager_gestureids()
+{
+ QStringList idList;
+ QSensorGestureManager manager;
+ idList = manager.gestureIds();
+
+ QVERIFY(idList.count() > 0);
+
+ QVERIFY(idList.contains("QtSensors.test"));
+ QVERIFY(idList.contains("QtSensors.test2"));
+ QVERIFY(idList.contains("QtSensors.test.dup"));
+}
+
+void Tst_qsensorgestureTest::tst_manager_recognizerSignals()
+{
+ QStringList idList;
+
+ QSensorGestureManager manager;
+ idList = manager.gestureIds();
+
+ idList.removeOne("QtSensors.test.dup");
+
+ for (int i = 0; i < idList.count(); i++) {
+
+ QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
+
+ if (idList.at(i) == "QtSensors.test") {
+ QStringList signalList;
+ signalList << "detected(QString)";
+ signalList << "tested()";
+ QCOMPARE(recognizerSignalsList.count(), 2);
+
+ QCOMPARE(recognizerSignalsList, signalList);
+
+ } else if (idList.at(i) == "QtSensors.test2") {
+ QStringList signalList;
+ signalList << "detected(QString)";
+ signalList << "test2()";
+ signalList << "test3(bool)";
+
+ QCOMPARE(recognizerSignalsList.count(), 3);
+ QCOMPARE(recognizerSignalsList, signalList);
+ }
+ }
+}
+
+void Tst_qsensorgestureTest::tst_manager_registerSensorGestureRecognizer()
+{
+ QSensorGestureManager manager;
+ int num = manager.gestureIds().count();
+ QSensorGestureRecognizer *recognizer = new QTest3Recognizer;
+ bool ok = manager.registerSensorGestureRecognizer(recognizer);
+ QCOMPARE(ok, true);
+ QCOMPARE(num+1, manager.gestureIds().count());
+
+ recognizer = new QTest3Recognizer;
+// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors/test3\" is already known ");
+ ok = manager.registerSensorGestureRecognizer(recognizer);
+ QCOMPARE(ok, false);
+ QCOMPARE(num+1, manager.gestureIds().count());
+}
+
+void Tst_qsensorgestureTest::tst_manager__newSensorAvailable()
+{
+ QSensorGestureManager manager;
+ QSensorGestureManager manager2;
+
+ QSignalSpy spy_manager_available(&manager, SIGNAL(newSensorGestureAvailable()));
+ QSignalSpy spy_manager2_available(&manager2, SIGNAL(newSensorGestureAvailable()));
+
+ manager.gestureIds();
+ QCOMPARE(spy_manager_available.count(),0);
+ QCOMPARE(spy_manager2_available.count(),0);
+
+ QTest3Recognizer *recognizer = new QTest3Recognizer;
+ recognizer->changeId("QtSensors.test4");
+
+ bool ok = manager.registerSensorGestureRecognizer(recognizer);
+ QCOMPARE(ok, true);
+ QCOMPARE(spy_manager_available.count(),1);
+
+ recognizer = new QTest3Recognizer;
+ recognizer->changeId("QtSensors.test4");
+// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test4\" is already known ");
+ ok = manager.registerSensorGestureRecognizer(recognizer);
+ QCOMPARE(ok, false);
+ QCOMPARE(spy_manager_available.count(),1);
+ QCOMPARE(spy_manager2_available.count(),1);
+
+ QScopedPointer<QSensorGesture> test4sg;
+ test4sg.reset(new QSensorGesture(QStringList() << "QtSensors.test4"));
+ QVERIFY(!test4sg->validIds().isEmpty());
+ QVERIFY(test4sg->invalidIds().isEmpty());
+}
+
+
+void Tst_qsensorgestureTest::tst_sensor_gesture_signals()
+{
+ QStringList testidList;
+ testidList << "QtSensors.test";
+ testidList << "QtSensors.test2";
+
+ Q_FOREACH (const QString &plugin, testidList) {
+
+ QScopedPointer<QSensorGesture> thisGesture(new QSensorGesture(QStringList() << plugin));
+
+ QSignalSpy spy_gesture_detected(thisGesture.data(), SIGNAL(detected(QString)));
+ QScopedPointer<QSignalSpy> spy_gesture_tested(0);
+
+ if (plugin == "QtSensors.test") {
+ QStringList signalList;
+ signalList << "detected(QString)";
+ signalList << "tested()";
+
+ QCOMPARE(thisGesture->gestureSignals().count(), 2);
+ QCOMPARE(thisGesture->gestureSignals(), signalList);
+
+ QCOMPARE(thisGesture->gestureSignals().at(1), QString("tested()"));
+
+ spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(tested())));
+ } else if (plugin == "QtSensors.test2") {
+ QStringList signalList;
+ signalList << "detected(QString)";
+ signalList << "test2()";
+ signalList << "test3(bool)";
+ QCOMPARE(thisGesture->gestureSignals().count(), 3);
+ QCOMPARE(thisGesture->gestureSignals(), signalList);
+
+ QCOMPARE(thisGesture->gestureSignals().at(1), QString("test2()"));
+ spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(test2())));
+ }
+
+ QVERIFY(!thisGesture->validIds().isEmpty());
+ thisGesture->startDetection();
+
+ QCOMPARE(spy_gesture_detected.count(),1);
+
+ if (plugin == "QtSensors.test") {
+ QCOMPARE(spy_gesture_tested->count(),1);
+ QList<QVariant> arguments ;
+ arguments = spy_gesture_detected.takeFirst(); // take the first signal
+ QCOMPARE(arguments.at(0).toString(), QString("tested"));
+ } else if (plugin == "QtSensors.test2") {
+ QCOMPARE(spy_gesture_tested->count(),1);
+ }
+ }
+
+}
+
+
+void Tst_qsensorgestureTest::tst_sensor_gesture_threaded()
+{
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
+
+ QScopedPointer<QThread> thread(new QThread);
+ QScopedPointer<QSensorGestureWithSlots> t_gesture(new QSensorGestureWithSlots(QStringList() << "QtSensors.test"));
+ t_gesture->moveToThread(thread.data());
+
+ currentSignal = removeParens(gesture->gestureSignals().at(0));
+
+ QSignalSpy thread_gesture(t_gesture->gesture, SIGNAL(detected(QString)));
+ QSignalSpy spy_gesture2(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(gesture->isActive(),false);
+ gesture->startDetection();
+
+ QCOMPARE(thread_gesture.count(),0);
+ QCOMPARE(spy_gesture2.count(),1);
+
+ QCOMPARE(gesture->isActive(),true);
+
+ thread->start();
+ QTimer::singleShot(0, t_gesture.data(), SLOT(startDetection())); // Delivered on the thread
+
+ //QTRY_COMPARE(t_gesture->gesture->isActive(),true);
+
+// QTRY_VERIFY(thread_gesture.count() > 0);
+ // spy_gesture2.clear();
+ //QTRY_VERIFY(spy_gesture2.count() > 0);
+
+ // QTimer::singleShot(0, t_gesture.data(), SLOT(stopDetection())); // Delivered on the thread
+
+ // QTRY_COMPARE(t_gesture->gesture->isActive(),false);
+ /// QCOMPARE(gesture->isActive(),true);
+
+ thread->quit();
+ thread->wait();
+}
+
+void Tst_qsensorgestureTest::tst_sensor_gesture()
+{
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
+
+ QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test2"));
+ QScopedPointer<QSensorGesture> gesture3(new QSensorGesture(QStringList() << "QtSensors.test2"));
+
+ QCOMPARE(gesture->validIds(),QStringList() << "QtSensors.test");
+
+ QCOMPARE(gesture->gestureSignals().at(1), QString("tested()"));
+
+ QVERIFY(gesture->invalidIds().isEmpty());
+ QVERIFY(gesture2->invalidIds().isEmpty());
+ QVERIFY(gesture3->invalidIds().isEmpty());
+
+ currentSignal = removeParens(gesture->gestureSignals().at(1));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
+
+ QSignalSpy spy_gesture3_detected(gesture3.data(), SIGNAL(detected(QString)));
+
+ QSignalSpy spy_gesture4_test2(gesture3.data(), SIGNAL(test2()));
+ QSignalSpy spy_gesture5_test3(gesture3.data(), SIGNAL(test3(bool)));
+
+
+ QCOMPARE(gesture->isActive(),false);
+ gesture->startDetection();
+
+ QCOMPARE(spy_gesture.count(),1);
+
+ QCOMPARE(gesture->isActive(),true);
+ QCOMPARE(gesture2->validIds(),QStringList() <<"QtSensors.test2");
+ QCOMPARE(gesture2->gestureSignals().at(1), QString("test2()"));
+ currentSignal = removeParens(gesture2->gestureSignals().at(1));
+
+ connect(gesture2.data(),SIGNAL(detected(QString)),
+ this,SLOT(shakeDetected(QString)));
+
+ QCOMPARE(gesture2->isActive(),false);
+
+ gesture2->startDetection();
+
+ QCOMPARE(gesture2->isActive(),true);
+
+ QCOMPARE(spy_gesture2.count(),1);
+
+ QCOMPARE(spy_gesture3_detected.count(),0);
+
+ gesture2->stopDetection();
+
+ QCOMPARE(gesture2->isActive(),false);
+ QCOMPARE(gesture3->isActive(),false);
+
+ gesture3->startDetection();
+
+ QCOMPARE(gesture3->isActive(),true);
+ QCOMPARE(gesture2->isActive(),false);
+
+ QCOMPARE(spy_gesture.count(),1);
+
+ QCOMPARE(spy_gesture2.count(),1);
+
+
+ QCOMPARE(spy_gesture3_detected.count(),1);
+
+ QCOMPARE(spy_gesture4_test2.count(),1);
+
+ QCOMPARE(spy_gesture5_test3.count(),1);
+
+ QList<QVariant> arguments2 = spy_gesture5_test3.takeFirst();
+ QCOMPARE(arguments2.at(0).toBool(), true);
+}
+
+void Tst_qsensorgestureTest::tst_recognizer()
+{
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
+ QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test"));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+ QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(gesture2->isActive(),false);
+
+ currentSignal = removeParens(gesture2->gestureSignals().at(0));
+
+ gesture2->startDetection();//activate 2
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(gesture2->isActive(),true);
+
+ QCOMPARE(spy_gesture.count(),0);
+
+ QCOMPARE(spy_gesture2.count(),1);
+
+ QList<QVariant> arguments = spy_gesture2.takeFirst();
+ QCOMPARE(arguments.at(0).toString(), QString("tested"));
+
+ QCOMPARE(spy_gesture2.count(),0);
+
+ gesture->startDetection(); //activate 1
+
+ QCOMPARE(gesture->isActive(),true);
+ QCOMPARE(gesture2->isActive(),true);
+
+ /*QTRY_COMPARE(spy_gesture.count(),1);
+
+ QCOMPARE(spy_gesture2.count(),1);
+
+ arguments = spy_gesture.takeFirst(); // take the first signal
+ QCOMPARE(arguments.at(0).toString(), QString("tested"));
+ spy_gesture2.removeFirst();
+
+ gesture->stopDetection(); //stop 1 gesture object
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(gesture2->isActive(),true);
+
+ spy_gesture2.clear();
+ gesture2->startDetection();
+
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(spy_gesture.count(),0);
+
+ QCOMPARE(gesture2->isActive(),true);
+
+ QTRY_COMPARE(spy_gesture2.count(), 1);
+ */
+}
+
+
+void Tst_qsensorgestureTest::tst_sensorgesture_noid()
+{
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.noid"));
+ QVERIFY(gesture->validIds().isEmpty());
+ QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.noid");
+
+ QTest::ignoreMessage(QtWarningMsg, "QSignalSpy: No such signal: 'detected(QString)'");
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(spy_gesture.count(),0);
+
+ gesture->startDetection();
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(spy_gesture.count(),0);
+
+ gesture->stopDetection();
+ QCOMPARE(gesture->isActive(),false);
+ QCOMPARE(spy_gesture.count(),0);
+
+ QVERIFY(gesture->gestureSignals().isEmpty());
+
+ QCOMPARE(gesture->invalidIds() ,QStringList() << "QtSensors.noid");
+
+ QSensorGestureManager manager;
+ QStringList recognizerSignalsList = manager.recognizerSignals( "QtSensors.noid");
+ QVERIFY(recognizerSignalsList.isEmpty());
+
+ QVERIFY(!recognizerSignalsList.contains("QtSensors.noid"));
+
+ QSensorGestureRecognizer *fakeRecognizer = manager.sensorGestureRecognizer("QtSensors.noid");
+ QVERIFY(!fakeRecognizer);
+}
+
+void Tst_qsensorgestureTest::tst_sensor_gesture_multi()
+{
+
+ QStringList ids;
+ ids << "QtSensors.test";
+ ids <<"QtSensors.test2";
+ ids << "QtSensors.bogus";
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(ids));
+ QStringList gestureSignals = gesture->gestureSignals();
+
+ gestureSignals.removeDuplicates() ;
+ QCOMPARE(gestureSignals, gesture->gestureSignals());
+
+ QCOMPARE(gesture->gestureSignals().count(), 4);
+ QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.bogus");
+
+ QCOMPARE(gesture->isActive(),false);
+
+ QSignalSpy spy_gesture_detected(gesture.data(), SIGNAL(detected(QString)));
+ gesture->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+ QCOMPARE(spy_gesture_detected.count(),2);
+
+ QList<QVariant> arguments ;
+ arguments = spy_gesture_detected.takeAt(0);
+ QCOMPARE(arguments.at(0).toString(), QString("tested"));
+
+ arguments = spy_gesture_detected.takeAt(0);
+ QCOMPARE(arguments.at(0).toString(), QString("test2"));
+
+ /*
+ QTRY_COMPARE(spy_gesture_detected.count(),1);
+
+ gesture->stopDetection();
+
+ QCOMPARE(gesture->isActive(),false);
+
+ {
+ QSensorGestureManager manager;
+ QVERIFY(!manager.gestureIds().contains("QtSensors.bogus"));
+ QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.bogus");
+ QVERIFY(recognizer == 0);
+ }
+*/
+}
+
+void Tst_qsensorgestureTest::shakeDetected(const QString &type)
+{
+ QCOMPARE(type,currentSignal);
+}
+
+void Tst_qsensorgestureTest::tst_sensor_gesture_notinitialized()
+{
+ QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known. ");
+ QSensorGestureManager manager;
+ QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.test");
+
+ QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized ");
+ recognizer->startBackend();
+ QVERIFY(recognizer->isActive() == false);
+
+ QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized ");
+ recognizer->stopBackend();
+ QVERIFY(recognizer->isActive() == false);
+
+ recognizer->createBackend();
+ QVERIFY(recognizer->isActive() == false);
+
+}
+
+
+QTEST_MAIN(Tst_qsensorgestureTest);
+
+#include "tst_qsensorgesturetest.moc"
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat
new file mode 100644
index 0000000000..abbaf6e89b
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat
@@ -0,0 +1,249 @@
+accelerometer: 9710710777,-0.210793,0,9.58148
+accelerometer: 9710731162,-0.19163,0,9.56232
+orientation:9701320823,5
+proximity:9710737980,0
+irProximity:9710740238,0
+accelerometer: 9710750663,0.0574889,0.153304,9.94558
+accelerometer: 9710770805,-0.172467,0.0958148,9.65814
+accelerometer: 9710792014,-0.134141,0.0766519,9.65814
+accelerometer: 9710810844,-0.0766519,0.153304,9.84977
+accelerometer: 9710830680,-0.153304,0.0574889,9.60065
+irProximity:9710841251,0.152941
+accelerometer: 9710850852,0.0958148,0.0766519,9.94558
+accelerometer: 9710870872,-0.172467,0.0383259,9.6773
+accelerometer: 9710890830,0.0383259,0.0766519,9.84977
+accelerometer: 9710910850,-0.0574889,0.0958148,9.73479
+accelerometer: 9710930656,-0.114978,0.0766519,9.71563
+irProximity:9710941898,0
+accelerometer: 9710950858,0.0383259,0.0958148,9.86893
+accelerometer: 9710970847,-0.134141,0.114978,9.69646
+accelerometer: 9710990684,-0.019163,0.114978,9.86893
+accelerometer: 9711010825,-0.0574889,0.114978,9.77311
+accelerometer: 9711030845,-0.114978,0.0766519,9.71563
+accelerometer: 9711050803,-0.0383259,0.134141,9.81144
+accelerometer: 9711070884,-0.0766519,0.0958148,9.73479
+accelerometer: 9711090843,-0.0766519,0.114978,9.75395
+accelerometer: 9711110648,-0.019163,0.0766519,9.79228
+accelerometer: 9711130821,-0.0574889,0.0574889,9.71563
+irProximity:9711143253,0.0941176
+accelerometer: 9711150993,0.0383259,0.114978,9.69646
+accelerometer: 9711170646,-0.0574889,0.0766519,9.69646
+accelerometer: 9711190818,-0.0766519,0.114978,9.77311
+accelerometer: 9711210716,-0.0766519,0.0958148,9.77311
+accelerometer: 9711230827,-0.0574889,0.0766519,9.69646
+irProximity:9711243931,0.341176
+accelerometer: 9711250877,-0.0383259,0.153304,9.6773
+accelerometer: 9711270896,-0.019163,0.134141,9.69646
+proximity:9711272178,1
+accelerometer: 9711290855,-0.0574889,0.0574889,9.65814
+accelerometer: 9711310844,-0.0574889,0.0958148,9.77311
+accelerometer: 9711330833,-0.019163,0.134141,9.71563
+irProximity:9711344639,0.478431
+accelerometer: 9711350669,-0.0766519,0.0574889,9.71563
+accelerometer: 9711370994,-0.0383259,0.0958148,9.71563
+accelerometer: 9711390830,-0.0958148,0.0766519,9.73479
+accelerometer: 9711410850,-0.0766519,0.0574889,9.77311
+accelerometer: 9711430839,-0.0574889,0.0766519,9.75395
+accelerometer: 9711450675,-0.0766519,0.114978,9.77311
+accelerometer: 9711470878,-0.019163,0.0958148,9.73479
+accelerometer: 9711490836,-0.0383259,0.134141,9.6773
+accelerometer: 9711510825,-0.0383259,0.114978,9.73479
+accelerometer: 9711530662,-0.019163,0.0958148,9.75395
+accelerometer: 9711550834,-0.0574889,0.0574889,9.77311
+accelerometer: 9711570792,-0.019163,0.0574889,9.77311
+accelerometer: 9711590659,-0.0574889,0.0766519,9.71563
+accelerometer: 9711610526,-0.114978,0.0958148,9.77311
+accelerometer: 9711630576,-0.0958148,0.0574889,9.69646
+accelerometer: 9711650626,-0.0383259,0.0766519,9.79228
+accelerometer: 9711670585,-0.0574889,0.0383259,9.81144
+accelerometer: 9711690604,0,0.134141,9.75395
+accelerometer: 9711710594,-0.0574889,0.0766519,9.73479
+accelerometer: 9711730552,0,0.0574889,9.75395
+accelerometer: 9711750541,-0.0574889,0.0766519,9.73479
+accelerometer: 9711770469,-0.019163,0.153304,9.71563
+accelerometer: 9711791923,0.019163,0.0958148,9.86893
+accelerometer: 9711810661,-0.0383259,0.0958148,9.88809
+accelerometer: 9711830619,-0.172467,0.114978,9.6773
+accelerometer: 9711850761,-0.268282,0.0383259,9.58148
+accelerometer: 9711870506,-0.172467,0.0766519,9.79228
+accelerometer: 9711890647,-0.19163,0.0574889,9.77311
+accelerometer: 9711910697,-0.249119,0.0574889,9.73479
+accelerometer: 9711930686,-0.153304,0.019163,9.79228
+accelerometer: 9711950614,-0.249119,0.0958148,9.61981
+accelerometer: 9711970634,-0.210793,0.153304,9.77311
+accelerometer: 9711990684,-0.229956,0.0383259,9.75395
+accelerometer: 9712010642,-0.210793,0.019163,9.65814
+accelerometer: 9712030814,-0.268282,0.114978,9.77311
+accelerometer: 9712050834,-0.210793,0.0766519,9.75395
+accelerometer: 9712070854,-0.153304,0.0766519,9.77311
+accelerometer: 9712090843,-0.19163,0.0958148,9.77311
+accelerometer: 9712110832,-0.210793,0.0958148,9.75395
+accelerometer: 9712130882,-0.172467,0.0766519,9.71563
+accelerometer: 9712150810,-0.153304,0.0383259,9.73479
+accelerometer: 9712170799,-0.249119,0.0766519,9.6773
+accelerometer: 9712190666,-0.172467,0.0766519,9.73479
+accelerometer: 9712210777,-0.172467,0.0766519,9.71563
+accelerometer: 9712230827,-0.153304,0.0574889,9.75395
+accelerometer: 9712250846,-0.172467,0.0383259,9.77311
+accelerometer: 9712270835,-0.249119,0.0958148,9.75395
+accelerometer: 9712290824,-0.19163,0.0383259,9.6773
+accelerometer: 9712310844,-0.153304,0.114978,9.79228
+accelerometer: 9712330833,-0.134141,0.0958148,9.77311
+accelerometer: 9712350822,-0.210793,0.0574889,9.73479
+accelerometer: 9712370597,-0.153304,0.0958148,9.77311
+accelerometer: 9712390769,-0.287445,0.0958148,9.77311
+accelerometer: 9712410850,-0.172467,0.0766519,9.75395
+accelerometer: 9712430656,-0.153304,0.0766519,9.71563
+accelerometer: 9712450645,-0.172467,0.0958148,9.77311
+accelerometer: 9712470847,-0.153304,0.0958148,9.65814
+accelerometer: 9712490836,-0.134141,0.0574889,9.79228
+accelerometer: 9712510825,-0.153304,0.0766519,9.73479
+accelerometer: 9712530845,-0.210793,0.0574889,9.6773
+accelerometer: 9712550803,-0.210793,0.0958148,9.77311
+accelerometer: 9712570792,-0.19163,0.0383259,9.75395
+accelerometer: 9712590659,-0.19163,0.0958148,9.69646
+accelerometer: 9712610648,-0.229956,0.0958148,9.6773
+accelerometer: 9712630851,-0.172467,0.0766519,9.79228
+accelerometer: 9712650840,-0.229956,0.114978,9.71563
+accelerometer: 9712670829,-0.19163,0.0958148,9.69646
+accelerometer: 9712690849,-0.19163,0.114978,9.77311
+accelerometer: 9712710838,-0.172467,0.019163,9.77311
+accelerometer: 9712730827,-0.134141,0.114978,9.79228
+accelerometer: 9712750816,-0.19163,0.0383259,9.75395
+accelerometer: 9712770805,-0.249119,0.0766519,9.73479
+accelerometer: 9712792320,-0.153304,0.0383259,9.6773
+accelerometer: 9712810874,-0.153304,0.0574889,9.84977
+accelerometer: 9712830833,-0.172467,0.0574889,9.75395
+accelerometer: 9712850669,-0.172467,0.0766519,9.73479
+accelerometer: 9712870811,-0.210793,0.0958148,9.73479
+accelerometer: 9712890830,-0.210793,0.114978,9.75395
+accelerometer: 9712910850,-0.210793,0.0766519,9.6773
+accelerometer: 9712930839,-0.249119,0.0766519,9.6773
+accelerometer: 9712950797,-0.134141,0.0958148,9.96474
+accelerometer: 9712970817,-0.019163,0.19163,10.1947
+accelerometer: 9712990684,-0.287445,0.0383259,9.58148
+accelerometer: 9713010825,-0.249119,0.0958148,9.84977
+accelerometer: 9713030662,-0.19163,0.0383259,9.73479
+accelerometer: 9713050803,-0.287445,0.0766519,9.71563
+accelerometer: 9713070854,-0.249119,0.0383259,9.71563
+accelerometer: 9713090843,-0.229956,0.0383259,9.77311
+accelerometer: 9713110832,-0.210793,0.0383259,9.73479
+accelerometer: 9713130851,-0.268282,0.0958148,9.65814
+accelerometer: 9713150779,-0.210793,0.0574889,9.71563
+accelerometer: 9713170799,-0.19163,0.114978,9.77311
+accelerometer: 9713190879,-0.249119,0,9.75395
+accelerometer: 9713210655,-0.249119,0.0574889,9.73479
+accelerometer: 9713230827,-0.249119,0.0766519,9.71563
+accelerometer: 9713250877,-0.249119,0.114978,9.75395
+accelerometer: 9713270652,-0.249119,0.0958148,9.71563
+accelerometer: 9713290794,-0.249119,0.0574889,9.75395
+accelerometer: 9713310844,-0.19163,0.0958148,9.8306
+accelerometer: 9713330833,-0.249119,0.0383259,9.73479
+accelerometer: 9713350791,-0.229956,0.0766519,9.69646
+accelerometer: 9713370841,-0.249119,0.0766519,9.79228
+accelerometer: 9713390830,-0.249119,0.0383259,9.73479
+accelerometer: 9713410850,-0.287445,0.0766519,9.73479
+accelerometer: 9713430839,-0.229956,0.0574889,9.77311
+accelerometer: 9713450614,-0.249119,0.0383259,9.65814
+accelerometer: 9713470878,-0.229956,0.0958148,9.71563
+accelerometer: 9713490836,-0.306608,0.0958148,9.75395
+accelerometer: 9713510795,-0.249119,0.0766519,9.8306
+accelerometer: 9713530845,-0.249119,0.0574889,9.6773
+accelerometer: 9713551017,-0.268282,0.019163,9.73479
+accelerometer: 9713570884,-0.306608,0.0574889,9.77311
+accelerometer: 9713590659,-0.268282,0.0766519,9.61981
+accelerometer: 9713610832,-0.229956,0.0383259,9.8306
+accelerometer: 9713630668,-0.229956,0,9.71563
+accelerometer: 9713650810,-0.249119,0.0383259,9.65814
+accelerometer: 9713670829,-0.210793,0.0383259,9.71563
+accelerometer: 9713690666,-0.229956,0.0574889,9.79228
+accelerometer: 9713710807,-0.268282,0.153304,9.40902
+accelerometer: 9713730827,-0.287445,0.134141,9.56232
+accelerometer: 9713750511,0.594052,0.114978,10.233
+accelerometer: 9713770835,-0.210793,0.153304,9.63897
+accelerometer: 9713791343,-0.0766519,0.134141,9.56232
+accelerometer: 9713810874,-0.114978,0.114978,9.6773
+accelerometer: 9713830863,-0.153304,0.172467,9.60065
+accelerometer: 9713850883,0.153304,0.0766519,10.0797
+accelerometer: 9713870689,-0.229956,0.0958148,9.60065
+accelerometer: 9713890769,0.114978,0.0383259,9.94558
+accelerometer: 9713910850,-0.19163,0.0574889,9.63897
+accelerometer: 9713930839,-0.0574889,0.0958148,9.71563
+accelerometer: 9713950675,-0.019163,0.153304,9.75395
+irProximity:9713954380,0.0588235
+accelerometer: 9713970878,-0.19163,0.0574889,9.61981
+accelerometer: 9713990806,0.0958148,0.114978,10.0031
+proximity:9713991142,0
+accelerometer: 9714010642,-0.19163,0.0574889,9.60065
+accelerometer: 9714030845,-0.019163,0.0958148,9.77311
+accelerometer: 9714050651,0.0383259,0.153304,9.75395
+accelerometer: 9714070792,-0.134141,0.0766519,9.75395
+accelerometer: 9714090843,0.019163,0.0766519,9.81144
+accelerometer: 9714110648,-0.0574889,0.114978,9.6773
+accelerometer: 9714130851,-0.114978,0.0766519,9.73479
+accelerometer: 9714150535,-0.019163,0.0958148,9.81144
+irProximity:9714155857,0.141176
+accelerometer: 9714170829,-0.114978,0.0766519,9.71563
+accelerometer: 9714190849,-0.0766519,0.0958148,9.75395
+accelerometer: 9714210838,0.0383259,0.114978,9.86893
+accelerometer: 9714230827,-0.134141,0.0766519,9.65814
+accelerometer: 9714250694,-0.0574889,0.0958148,9.81144
+irProximity:9714256717,0.14902
+accelerometer: 9714270835,-0.019163,0.0958148,9.75395
+accelerometer: 9714290641,-0.0383259,0.0574889,9.69646
+accelerometer: 9714310813,0.019163,0.0574889,9.79228
+accelerometer: 9714330833,-0.0766519,0.114978,9.75395
+accelerometer: 9714350700,-0.0383259,0.114978,9.65814
+irProximity:9714357578,0.0196078
+accelerometer: 9714370872,-0.019163,0.0766519,9.77311
+accelerometer: 9714390830,-0.0383259,0.0958148,9.81144
+accelerometer: 9714410850,-0.0574889,0.0766519,9.71563
+accelerometer: 9714430656,-0.0383259,0.0766519,9.79228
+accelerometer: 9714450645,-0.0574889,0.114978,9.73479
+irProximity:9714458164,0.0117647
+accelerometer: 9714470664,-0.019163,0.134141,9.73479
+accelerometer: 9714490806,-0.0766519,0.134141,9.73479
+accelerometer: 9714510856,-0.0958148,0.114978,9.79228
+accelerometer: 9714530662,-0.0958148,0.0958148,9.77311
+accelerometer: 9714550620,-0.0958148,0.114978,9.81144
+irProximity:9714559055,0.101961
+accelerometer: 9714570854,-0.114978,0.0766519,9.79228
+accelerometer: 9714590659,-0.0958148,0.0766519,9.75395
+accelerometer: 9714610801,-0.0766519,0.0958148,9.73479
+accelerometer: 9714630851,-0.019163,0.0766519,9.73479
+accelerometer: 9714650688,-4.90572,0.114978,9.71563
+irProximity:9714659977,0
+accelerometer: 9714670829,-0.0383259,0.114978,9.73479
+accelerometer: 9714690849,-0.0383259,0.0958148,9.77311
+accelerometer: 9714710655,-0.0766519,0.114978,9.75395
+accelerometer: 9714730766,-0.0958148,0.0958148,9.73479
+accelerometer: 9714750694,-0.0958148,0.114978,9.81144
+irProximity:9714760837,0.12549
+accelerometer: 9714770866,-0.134141,0.0766519,9.71563
+accelerometer: 9714790550,-0.0766519,0.0383259,9.75395
+accelerometer: 9714810844,-0.0383259,0.114978,9.75395
+accelerometer: 9714830833,-0.0574889,0.114978,9.71563
+accelerometer: 9714850700,-0.0574889,0.0766519,9.73479
+irProximity:9714861515,0.0823529
+accelerometer: 9714870841,-0.0383259,0.0574889,9.69646
+accelerometer: 9714890647,-0.0766519,0.0958148,9.77311
+accelerometer: 9714910850,-0.0383259,0.0766519,9.75395
+accelerometer: 9714930839,-0.0383259,0.0574889,9.71563
+accelerometer: 9714950645,-0.0574889,0.114978,9.75395
+irProximity:9714962162,0.168627
+accelerometer: 9714970878,-0.0383259,0.172467,9.75395
+accelerometer: 9714991721,-0.459911,-0.172467,9.65814
+accelerometer: 9715010520,0.498237,0.0766519,10.3672
+accelerometer: 9715030662,-0.249119,0.0383259,9.54316
+accelerometer: 9715050651,-0.594052,0.019163,8.98743
+irProximity:9715062900,0.0352941
+accelerometer: 9715070670,-0.574889,0.0383259,9.06409
+accelerometer: 9715090659,-0.459911,0.0766519,9.25571
+accelerometer: 9715110679,-0.32577,0.019163,9.37069
+accelerometer: 9715130668,-0.210793,0.0383259,9.524
+accelerometer: 9715150901,-0.19163,0.0766519,9.61981
+irProximity:9715163547,0.184314
+accelerometer: 9715170554,-0.210793,0.153304,9.73479
+accelerometer: 9715190604,0.134141,0.0383259,10.5396
+accelerometer: 9715210655,-0.306608,0.0766519,9.77311
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat
new file mode 100644
index 0000000000..981d38ef46
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat
@@ -0,0 +1,161 @@
+accelerometer: 925170646,-0.5174,0.919823,8.39338
+accelerometer: 925190666,0.306608,0.344933,9.1599
+accelerometer: 925210685,0.421585,0.402422,10.1947
+orientation:910530601,5
+accelerometer: 925230552,-0.229956,0.114978,9.63897
+proximity:925232120,0
+accelerometer: 925250724,-0.0958148,0.0766519,9.58148
+accelerometer: 925270835,0.210793,0.440748,9.77311
+accelerometer: 925290824,0.0383259,0.5174,9.75395
+accelerometer: 925310844,-0.0766519,0.651541,9.71563
+accelerometer: 925330650,0.249119,0.498237,9.61981
+accelerometer: 925350852,0,0.689867,9.61981
+accelerometer: 925370841,0.0766519,0.70903,9.56232
+accelerometer: 925390861,0.153304,0.766519,9.84977
+accelerometer: 925410880,-0.114978,0.728193,9.92642
+accelerometer: 925430686,0.153304,0.766519,9.94558
+accelerometer: 925450858,-0.0766519,0.689867,9.6773
+accelerometer: 925470878,-0.287445,0.804845,9.65814
+accelerometer: 925490836,-0.153304,0.881497,10.0031
+accelerometer: 925510825,0.134141,0.747356,10.0031
+accelerometer: 925530692,0,0.689867,9.84977
+tap:926297152,1
+accelerometer: 925550864,-0.134141,0.594052,9.79228
+accelerometer: 925570701,-0.019163,0.824008,9.88809
+accelerometer: 925590934,0.153304,0.555726,9.8306
+accelerometer: 925610679,0.0958148,0.613215,9.84977
+accelerometer: 925630668,0.153304,0.804845,9.44734
+irProximity:925638583,0.027451
+accelerometer: 925650871,0.555726,0.594052,9.46651
+accelerometer: 925670860,0.574889,0.306608,9.37069
+accelerometer: 925690879,0.249119,0.958148,9.88809
+accelerometer: 925710868,0.613215,0.383259,9.98391
+accelerometer: 925730674,0.383259,0.651541,9.60065
+irProximity:925739444,0.109804
+accelerometer: 925750694,0.479074,0.498237,9.60065
+accelerometer: 925770774,0.594052,0.5174,9.8306
+accelerometer: 925790824,0.364096,0.594052,9.8306
+accelerometer: 925810844,0.364096,0.498237,9.81144
+accelerometer: 925830680,0.287445,0.555726,9.79228
+irProximity:925840304,0
+accelerometer: 925850883,0.364096,0.651541,9.65814
+accelerometer: 925870872,0.287445,0.613215,9.77311
+accelerometer: 925890830,0.383259,0.651541,9.94558
+accelerometer: 925910697,0.421585,0.555726,9.77311
+accelerometer: 925930686,0.210793,0.594052,9.6773
+irProximity:925941165,0.0666667
+accelerometer: 925950828,0.613215,0.498237,9.81144
+accelerometer: 925970878,0.613215,0.536563,9.81144
+accelerometer: 925990653,0.5174,0.536563,9.73479
+accelerometer: 926010673,-30.3158,7.87598,7.93347
+accelerometer: 926030662,3.37268,3.67929,11.0762
+irProximity:926041659,0.180392
+accelerometer: 926050865,0.996474,0.134141,10.2139
+accelerometer: 926070854,4.17753,0.555726,8.18259
+accelerometer: 926090690,-1.37973,-0.364096,9.08325
+accelerometer: 926110832,-0.344933,-0.0958148,10.9229
+accelerometer: 926130882,1.51387,0.364096,10.3097
+irProximity:926142459,0.105882
+accelerometer: 926150871,0.402422,0.134141,9.23655
+accelerometer: 926170677,1.07313,0.364096,9.1599
+accelerometer: 926190788,0.90066,0.459911,9.524
+accelerometer: 926210868,8.83413,-6.22797,9.25571
+accelerometer: 926230857,2.33788,1.45639,11.7469
+irProximity:926243167,0.137255
+accelerometer: 926250724,2.39537,0.689867,8.85329
+accelerometer: 926270927,3.43017,0.383259,6.74537
+accelerometer: 926290824,-1.93546,-0.689867,8.39338
+accelerometer: 926310874,-0.651541,0.555726,11.4595
+accelerometer: 926330833,1.13062,1.0348,10.7121
+irProximity:926343875,0.0941176
+accelerometer: 926350913,0.651541,0.670704,8.62334
+accelerometer: 926370841,0.938986,0.459911,8.69999
+accelerometer: 926390830,0.574889,0.555726,9.65814
+accelerometer: 926410697,-0.0383259,0.536563,10.118
+accelerometer: 926430839,0.0574889,0.5174,10.0031
+irProximity:926444522,0.0313726
+accelerometer: 926450675,0.0383259,0.402422,9.86893
+accelerometer: 926470847,0.114978,0.536563,9.81144
+accelerometer: 926490867,0.0766519,0.613215,9.8306
+accelerometer: 926510825,-0.019163,0.689867,9.6773
+accelerometer: 926530723,0.0958148,0.670704,9.75395
+irProximity:926545199,0.109804
+accelerometer: 926550681,0.134141,0.824008,9.81144
+accelerometer: 926571281,0.268282,0.70903,9.71563
+accelerometer: 926590720,0.19163,0.689867,9.63897
+accelerometer: 926610832,0.172467,0.613215,9.79228
+accelerometer: 926630973,-0.0958148,0.70903,9.86893
+irProximity:926645877,0
+accelerometer: 926650626,0,0.728193,10.2139
+accelerometer: 926670585,0.019163,0.632378,9.65814
+accelerometer: 926690879,0.0383259,0.689867,9.61981
+accelerometer: 926710868,-0.019163,0.785682,9.79228
+accelerometer: 926730857,-0.134141,0.824008,9.86893
+irProximity:926746554,0.0784314
+accelerometer: 926750877,-0.210793,0.843171,9.84977
+accelerometer: 926770835,-0.0766519,0.843171,9.71563
+accelerometer: 926790855,-0.172467,0.785682,9.44734
+accelerometer: 926810844,-0.19163,0.843171,9.48567
+accelerometer: 926830680,-0.383259,0.977311,9.81144
+irProximity:926847201,0.0980392
+accelerometer: 926850883,-0.287445,0.958148,9.77311
+accelerometer: 926870689,-0.306608,1.0348,9.6773
+accelerometer: 926890800,-0.32577,0.90066,9.6773
+accelerometer: 926910697,-0.287445,1.01564,9.81144
+accelerometer: 926930900,-0.344933,0.977311,9.65814
+irProximity:926947909,0.109804
+accelerometer: 926950889,-0.344933,0.977311,9.60065
+accelerometer: 926970878,-0.210793,0.958148,9.61981
+accelerometer: 926990684,-0.19163,0.919823,9.77311
+accelerometer: 927010642,-0.19163,0.90066,9.81144
+accelerometer: 927030814,-0.172467,0.881497,9.77311
+irProximity:927048617,0
+accelerometer: 927050834,-0.268282,0.804845,9.73479
+accelerometer: 927070854,-0.210793,0.824008,9.65814
+accelerometer: 927090843,-0.19163,0.804845,9.77311
+accelerometer: 927110832,-0.249119,0.881497,9.73479
+accelerometer: 927130882,-0.440748,0.728193,9.6773
+irProximity:927149356,0.0470588
+accelerometer: 927150840,-0.32577,0.804845,9.86893
+accelerometer: 927170829,-0.402422,0.862334,9.71563
+accelerometer: 927190696,-0.364096,0.804845,9.73479
+accelerometer: 927210777,-0.402422,0.804845,9.88809
+accelerometer: 927230827,-0.364096,0.804845,9.73479
+irProximity:927250369,0.0823529
+accelerometer: 927250541,-0.32577,0.70903,9.71563
+accelerometer: 927270805,-0.306608,0.728193,9.8306
+accelerometer: 927290672,-0.153304,0.785682,9.71563
+accelerometer: 927310813,-0.306608,0.766519,9.63897
+accelerometer: 927330863,-0.306608,0.728193,9.69646
+irProximity:927351077,0.0862745
+accelerometer: 927350883,-0.229956,0.804845,14.6597
+accelerometer: 927370872,-0.249119,0.843171,9.65814
+accelerometer: 927390830,-0.249119,0.881497,9.61981
+accelerometer: 927410850,-0.32577,0.843171,9.86893
+accelerometer: 927430686,-0.364096,0.824008,9.79228
+irProximity:927451632,0
+accelerometer: 927450492,-0.32577,0.804845,9.69646
+accelerometer: 927470847,-0.344933,0.785682,9.69646
+accelerometer: 927490836,-0.32577,0.766519,9.69646
+accelerometer: 927510825,-0.249119,0.804845,9.88809
+accelerometer: 927530875,-0.383259,0.766519,9.81144
+accelerometer: 927550987,-0.32577,0.728193,9.86893
+accelerometer: 927570884,-0.383259,0.785682,9.96474
+accelerometer: 927590904,-0.459911,0.728193,10.0606
+accelerometer: 927610862,-0.5174,0.728193,8.98743
+accelerometer: 927630851,-0.172467,0.958148,7.83765
+accelerometer: 927650657,-0.919823,1.01564,9.29404
+accelerometer: 927670677,-1.0348,1.09229,10.3288
+accelerometer: 927690696,-0.440748,0.919823,9.75395
+accelerometer: 927710594,-0.402422,0.843171,9.65814
+accelerometer: 927730521,-0.32577,1.20727,9.92642
+accelerometer: 927750633,-0.421585,1.34141,10.0222
+irProximity:927753695,0.054902
+accelerometer: 927770683,-0.5174,1.43722,9.86893
+accelerometer: 927790672,-0.459911,1.47555,10.118
+accelerometer: 927810691,-0.498237,1.20727,10.4821
+accelerometer: 927830680,-0.689867,0.862334,11.9385
+accelerometer: 927850669,-0.785682,0.938986,10.4247
+irProximity:927854373,0
+accelerometer: 927870689,-0.459911,0.996474,9.23655
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat
new file mode 100644
index 0000000000..3b82d472c8
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat
@@ -0,0 +1,256 @@
+accelerometer: 932390769,0.287445,0.019163,10.0606
+accelerometer: 932410850,-0.479074,0.0766519,9.25571
+orientation:910530601,5
+accelerometer: 932430564,0.229956,0.019163,10.0414
+proximity:932435793,0
+irProximity:932439852,0.184314
+accelerometer: 932450858,-0.306608,0.114978,9.77311
+accelerometer: 932470664,0.0383259,-0.0383259,9.75395
+accelerometer: 932490806,0.114978,0,9.94558
+accelerometer: 932510825,-0.268282,0.153304,9.6773
+accelerometer: 932530692,0.134141,0.134141,10.0989
+irProximity:932540865,0
+accelerometer: 932550834,-0.229956,0.0574889,9.61981
+accelerometer: 932570701,-0.019163,0,9.73479
+accelerometer: 932590995,-0.0958148,0.0574889,9.88809
+accelerometer: 932610832,-0.172467,0.114978,9.6773
+accelerometer: 932630698,-0.019163,0.019163,14.6788
+irProximity:932641726,0.0313726
+accelerometer: 932650871,-0.114978,0.0383259,9.73479
+accelerometer: 932670860,-0.0766519,0.019163,9.71563
+accelerometer: 932690879,-0.019163,0.0766519,9.73479
+accelerometer: 932710655,-0.0766519,0.114978,9.75395
+accelerometer: 932730766,-0.0383259,0.0574889,9.8306
+irProximity:932742434,0.0745098
+accelerometer: 932750663,-0.0383259,0.0574889,9.79228
+accelerometer: 932770805,0.019163,0.0958148,9.75395
+accelerometer: 932790824,-0.114978,0.0574889,9.8306
+accelerometer: 932810844,-0.0766519,0.0958148,9.69646
+accelerometer: 932830833,-0.134141,0.0958148,9.75395
+irProximity:932843112,0
+accelerometer: 932850883,-0.114978,0.0766519,9.73479
+accelerometer: 932870841,-0.0574889,0.0766519,9.75395
+accelerometer: 932890647,-0.0958148,0.0766519,9.77311
+accelerometer: 932910667,0,0.0958148,9.77311
+accelerometer: 932930991,-0.019163,0.0958148,9.81144
+irProximity:932943789,0.160784
+accelerometer: 932950858,-0.0383259,0.0766519,9.81144
+accelerometer: 932970847,-0.0958148,0.114978,9.77311
+accelerometer: 932990684,-0.0766519,0.114978,9.77311
+accelerometer: 933010825,-0.0766519,0.0574889,9.81144
+accelerometer: 933030845,-0.0766519,0.114978,9.79228
+irProximity:933044497,0
+accelerometer: 933050865,-0.0958148,0.0574889,9.79228
+accelerometer: 933070854,-0.0383259,0.114978,9.77311
+accelerometer: 933090843,-0.0766519,0.114978,9.79228
+accelerometer: 933110832,-0.0574889,0.0574889,9.73479
+accelerometer: 933130668,-0.0766519,0.0574889,9.77311
+irProximity:933145144,0.176471
+accelerometer: 933150871,-0.0958148,0.0574889,9.77311
+accelerometer: 933170646,-0.0766519,0.0958148,9.8306
+accelerometer: 933190788,-0.0766519,0.0766519,9.75395
+accelerometer: 933210838,-0.0574889,0.0574889,9.84977
+accelerometer: 933230827,-0.114978,0.0766519,9.81144
+irProximity:933245852,0.211765
+accelerometer: 933250602,-0.0766519,0.0766519,9.79228
+accelerometer: 933270866,-0.0574889,0.0574889,9.79228
+accelerometer: 933290824,-0.114978,0.0574889,9.79228
+accelerometer: 933310661,-0.0766519,0.114978,9.81144
+accelerometer: 933330772,-0.0383259,0.0766519,9.73479
+irProximity:933346529,0.27451
+accelerometer: 933350883,-0.0958148,0.134141,9.75395
+accelerometer: 933370872,-0.0766519,0.0766519,9.73479
+accelerometer: 933390830,-0.114978,0.0574889,9.73479
+accelerometer: 933410850,-0.0574889,0.0766519,9.75395
+accelerometer: 933430839,-0.0958148,0.0574889,9.77311
+irProximity:933447146,0.278431
+accelerometer: 933450858,-0.0574889,0.114978,9.75395
+accelerometer: 933470878,-0.0383259,0.0383259,9.79228
+accelerometer: 933490867,-0.114978,0.0766519,9.81144
+accelerometer: 933510856,-0.134141,0.0958148,9.79228
+accelerometer: 933530875,-0.0574889,0.0766519,9.73479
+irProximity:933547854,0.290196
+accelerometer: 933550651,-0.0574889,0.0574889,9.73479
+accelerometer: 933570640,-0.0383259,0.114978,9.73479
+accelerometer: 933590720,-0.0574889,0.0574889,9.77311
+accelerometer: 933610801,-0.0958148,0.0383259,9.81144
+accelerometer: 933630851,-0.019163,0.0766519,9.86893
+irProximity:933648562,0.282353
+accelerometer: 933650871,-0.0766519,0,9.79228
+accelerometer: 933670829,-0.114978,0.0766519,9.73479
+accelerometer: 933690666,-0.0766519,0.0766519,9.73479
+accelerometer: 933710777,-0.0766519,0.0383259,9.75395
+accelerometer: 933730644,-0.019163,0.114978,9.81144
+irProximity:933749178,0.301961
+accelerometer: 933750877,-0.0958148,0.0766519,9.77311
+accelerometer: 933770835,-0.0958148,0.0766519,9.75395
+accelerometer: 933790824,-0.114978,0.019163,9.8306
+accelerometer: 933810844,-0.019163,0.0383259,9.6773
+accelerometer: 933830833,-0.0766519,0.0766519,9.77311
+irProximity:933849886,0.286275
+accelerometer: 933850852,-0.0958148,0.114978,9.75395
+accelerometer: 933870841,-0.0574889,0.0958148,9.77311
+accelerometer: 933890830,-0.0574889,0.114978,9.73479
+accelerometer: 933911582,-0.0958148,0.0766519,9.75395
+accelerometer: 933930808,-0.019163,0.0766519,9.77311
+accelerometer: 933950858,-0.0574889,0.0766519,9.71563
+accelerometer: 933970664,-0.0766519,0.0958148,9.75395
+accelerometer: 933990653,-0.0574889,0.0574889,9.73479
+accelerometer: 934010642,-0.0766519,0.0958148,9.77311
+accelerometer: 934030845,-0.019163,0.0574889,9.77311
+irProximity:934051241,0.282353
+accelerometer: 934050834,-0.153304,0.0383259,9.79228
+accelerometer: 934070854,-0.0383259,0.0574889,9.73479
+accelerometer: 934090659,-0.0574889,0.0958148,9.77311
+accelerometer: 934110801,-0.0383259,0.0574889,9.71563
+accelerometer: 934130851,-0.172467,0.0574889,9.77311
+irProximity:934151888,0.290196
+accelerometer: 934150596,-0.0383259,0.0958148,9.73479
+accelerometer: 934170799,-0.0574889,0.0383259,9.81144
+accelerometer: 934190849,-0.0574889,0.019163,9.77311
+accelerometer: 934210838,-0.114978,0.0766519,9.81144
+accelerometer: 934230827,-0.0383259,0.0766519,9.75395
+accelerometer: 934250907,-0.0958148,0.0958148,9.77311
+accelerometer: 934270866,-0.0766519,0.0383259,9.81144
+accelerometer: 934290824,-0.0958148,0.0574889,9.8306
+accelerometer: 934310844,-0.114978,0.0766519,9.71563
+accelerometer: 934330833,-0.0574889,0.0766519,9.73479
+accelerometer: 934350700,-0.0958148,0.019163,9.79228
+irProximity:934353671,0.294118
+accelerometer: 934370872,-0.0766519,0.0574889,9.8306
+accelerometer: 934390647,-0.0958148,0.0958148,9.79228
+accelerometer: 934410789,-0.0383259,0.0574889,9.73479
+accelerometer: 934430656,-0.0574889,0.0766519,9.77311
+accelerometer: 934450614,-0.0383259,0.0958148,9.79228
+irProximity:934454531,0.309804
+accelerometer: 934470847,-0.0766519,0.0766519,9.71563
+accelerometer: 934490836,-0.0766519,0.0766519,9.77311
+accelerometer: 934510825,-0.0766519,0.0383259,9.79228
+accelerometer: 934530845,-0.019163,0.019163,9.79228
+accelerometer: 934550681,-0.114978,0.0766519,9.77311
+irProximity:934555361,0.247059
+accelerometer: 934570670,-0.0766519,0.0574889,9.75395
+accelerometer: 934590904,-0.0574889,0.0766519,9.73479
+accelerometer: 934610862,-0.0958148,0.0958148,9.75395
+accelerometer: 934630851,-0.0383259,0.0958148,9.73479
+accelerometer: 934650871,-0.134141,0.0958148,9.81144
+irProximity:934656344,0
+accelerometer: 934670829,-0.114978,0.114978,9.75395
+accelerometer: 934690849,-0.019163,0.0383259,9.8306
+accelerometer: 934710838,-0.0766519,0.0383259,9.71563
+accelerometer: 934730827,-0.134141,0.134141,9.75395
+accelerometer: 934750694,-0.0766519,0.0958148,9.75395
+irProximity:934757204,0.14902
+accelerometer: 934770835,-0.0574889,0.0958148,9.77311
+accelerometer: 934790855,-0.0958148,0.0574889,9.81144
+accelerometer: 934810661,-0.0574889,0.0958148,9.73479
+accelerometer: 934830772,-0.114978,0.0958148,9.8306
+accelerometer: 934850669,-0.0958148,0.0766519,9.77311
+accelerometer: 934870780,-0.0958148,0.0958148,9.75395
+accelerometer: 934890861,-0.019163,0.0574889,9.71563
+accelerometer: 934911186,-0.0383259,0.0766519,9.79228
+accelerometer: 934930839,-0.134141,0.114978,9.75395
+accelerometer: 934950675,-0.0958148,0.0574889,9.75395
+irProximity:934958743,0.12549
+accelerometer: 934970847,-0.0383259,0.0766519,9.86893
+accelerometer: 934990653,-0.0574889,0.0958148,9.77311
+accelerometer: 935010795,-0.0766519,0.0958148,9.84977
+accelerometer: 935030875,-0.0574889,0.0766519,9.77311
+accelerometer: 935050681,-0.0383259,0.0383259,9.71563
+irProximity:935059603,0.145098
+accelerometer: 935070884,-0.0383259,0.0958148,9.73479
+accelerometer: 935090873,-0.0958148,0.114978,9.81144
+accelerometer: 935110862,-0.0383259,0.0958148,9.77311
+accelerometer: 935130851,-0.0574889,0.019163,9.81144
+accelerometer: 935150688,-0.0958148,0.0766519,9.86893
+irProximity:935160464,0
+accelerometer: 935170860,-0.0574889,0.0766519,9.77311
+accelerometer: 935190879,-0.134141,0.153304,9.79228
+accelerometer: 935210838,-0.0766519,0.0574889,9.86893
+accelerometer: 935230644,-0.0958148,0.0574889,9.73479
+accelerometer: 935250724,-0.0574889,0.0766519,9.77311
+irProximity:935261294,0.137255
+accelerometer: 935270652,-0.0766519,0.0958148,9.75395
+accelerometer: 935290794,-0.0574889,0.0766519,9.75395
+accelerometer: 935310874,-0.0383259,0.019163,9.75395
+accelerometer: 935330863,-0.019163,0.0574889,9.73479
+accelerometer: 935350700,-0.0958148,0.0958148,9.77311
+irProximity:935362093,0.109804
+accelerometer: 935370841,-0.0958148,0.114978,9.75395
+accelerometer: 935390861,-0.0383259,0.0958148,9.77311
+accelerometer: 935410697,-0.0958148,0.0958148,9.77311
+accelerometer: 935430808,-0.153304,0.0766519,9.77311
+accelerometer: 935450858,-0.0574889,0.019163,9.75395
+irProximity:935462801,0.14902
+accelerometer: 935470878,-0.019163,0.0766519,9.73479
+accelerometer: 935490867,-0.0383259,0.0958148,9.84977
+accelerometer: 935510856,-0.0766519,0.019163,9.73479
+accelerometer: 935530875,-0.0383259,0.0958148,9.81144
+accelerometer: 935550865,-0.0766519,0.0958148,9.79228
+irProximity:935563509,0
+accelerometer: 935570701,-0.0766519,0.0766519,9.73479
+accelerometer: 935590873,-0.0766519,0.153304,9.8306
+accelerometer: 935610832,-0.0766519,0.0766519,9.79228
+accelerometer: 935630851,-0.0383259,0.0958148,9.77311
+accelerometer: 935650657,-0.114978,0.114978,14.6597
+accelerometer: 935670799,-0.0766519,0.0574889,9.75395
+accelerometer: 935690696,-0.0574889,0.0766519,9.79228
+accelerometer: 935710838,-0.0766519,0.0383259,9.79228
+accelerometer: 935730857,-0.0574889,0.0574889,9.77311
+accelerometer: 935750846,-0.0958148,0.0574889,9.77311
+accelerometer: 935770805,-0.0766519,0.0574889,9.79228
+accelerometer: 935790824,-0.114978,0.0574889,9.75395
+accelerometer: 935810874,-0.0766519,0.0958148,9.77311
+accelerometer: 935830680,-0.0766519,0.0574889,9.77311
+accelerometer: 935850822,-0.0766519,0.0766519,9.77311
+irProximity:935865542,0.0588235
+accelerometer: 935870872,-0.0958148,0.0574889,9.44734
+accelerometer: 935890830,-0.0958148,0.0574889,9.75395
+accelerometer: 935911704,-0.019163,0.0766519,9.8306
+accelerometer: 935930869,-0.0766519,0.134141,9.8306
+accelerometer: 935950828,-0.114978,0.0383259,9.69646
+irProximity:935966250,0
+accelerometer: 935970878,-0.0383259,0.153304,9.8306
+accelerometer: 935990684,-0.0574889,0.0766519,9.79228
+accelerometer: 936010642,-0.0574889,0.0766519,9.75395
+accelerometer: 936030814,-0.019163,0.0766519,9.79228
+accelerometer: 936050865,-0.0766519,0.0383259,9.71563
+irProximity:936066958,0.156863
+accelerometer: 936070670,-0.0383259,0.0574889,9.75395
+accelerometer: 936090629,-0.0958148,0.0766519,9.73479
+accelerometer: 936110648,-0.0958148,0.0574889,9.71563
+accelerometer: 936130821,-0.0574889,0.0766519,9.75395
+accelerometer: 936150871,-0.0958148,0.0958148,9.79228
+irProximity:936167696,0.0235294
+accelerometer: 936170860,-0.0766519,0.114978,9.81144
+accelerometer: 936190879,-0.0383259,0.019163,9.73479
+accelerometer: 936210838,-0.0574889,0.0958148,9.84977
+accelerometer: 936230827,-0.0574889,0.0766519,9.77311
+accelerometer: 936250694,-0.0383259,0.0766519,9.79228
+irProximity:936268374,0.105882
+accelerometer: 936270896,-0.134141,0.019163,9.75395
+accelerometer: 936290885,-0.0766519,0.0574889,9.77311
+accelerometer: 936310874,-0.0574889,0.114978,9.75395
+accelerometer: 936330863,-0.0766519,0.0766519,9.77311
+accelerometer: 936350852,-0.114978,0.019163,9.75395
+irProximity:936369082,0.137255
+accelerometer: 936370872,-0.0383259,0.0958148,9.77311
+accelerometer: 936390830,-0.0766519,0.0766519,9.73479
+accelerometer: 936410880,-0.114978,0.019163,9.73479
+accelerometer: 936430869,-0.0766519,0.0574889,9.8306
+accelerometer: 936450553,-0.785682,-0.249119,9.10241
+irProximity:936469881,0.0509804
+accelerometer: 936471610,0.613215,0.0383259,10.8654
+accelerometer: 936490653,0.019163,0.0383259,10.0606
+accelerometer: 936510825,-0.555726,0.0766519,8.87245
+accelerometer: 936530662,-0.0766519,0.0574889,9.98391
+accelerometer: 936550651,-0.019163,0.0766519,10.1564
+irProximity:936570956,0.121569
+accelerometer: 936570609,-0.344933,0.0574889,9.50483
+accelerometer: 936590659,-0.32577,0.0574889,9.6773
+accelerometer: 936610648,-0.114978,0.0766519,9.90726
+accelerometer: 936630668,-0.210793,0.0574889,9.6773
+accelerometer: 936650688,-0.134141,-0.383259,9.46651
+irProximity:936671450,0.0784314
+accelerometer: 936670524,0.344933,0.229956,10.0989
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat
new file mode 100644
index 0000000000..4f3c6bfeb7
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat
@@ -0,0 +1,204 @@
+orientation:6991310589,5
+accelerometer: 6993361126,-0.440748,-0.32577,9.60065
+accelerometer: 6993380810,-0.5174,-0.172467,9.48567
+accelerometer: 6993400555,-0.5174,-0.172467,9.84977
+accelerometer: 6993440564,-0.383259,-0.555726,9.81144
+accelerometer: 6993460583,-0.651541,-0.32577,9.92642
+irProximity:6993468313,0.101961
+accelerometer: 6993480572,-0.134141,0.306608,10.0414
+proximity:6993491811,0
+accelerometer: 6993500592,-0.229956,0.249119,10.0031
+accelerometer: 6993520520,-0.229956,0.594052,9.88809
+accelerometer: 6993540570,-0.459911,0.670704,10.0797
+accelerometer: 6993560559,-0.383259,0.555726,9.54316
+irProximity:6993572286,0.117647
+accelerometer: 6993580639,-0.594052,0.651541,9.69646
+accelerometer: 6993600628,-0.613215,0.383259,9.524
+accelerometer: 6993620892,-0.574889,0.766519,9.33237
+accelerometer: 6993640912,-0.287445,1.01564,9.14074
+accelerometer: 6993660656,-0.574889,1.22643,8.96827
+irProximity:6993672933,0.156863
+accelerometer: 6993680584,-0.0766519,1.09229,9.524
+accelerometer: 6993700573,0.0958148,1.49471,10.0414
+accelerometer: 6993720746,0.344933,1.53304,10.0989
+accelerometer: 6993740551,0.287445,1.43722,10.6163
+accelerometer: 6993760601,0.229956,1.45639,10.3863
+irProximity:6993775747,0.0392157
+accelerometer: 6993780560,0.498237,1.37973,10.9995
+accelerometer: 6993800885,0.32577,1.83965,10.7888
+accelerometer: 6993820599,0.344933,2.0696,10.4247
+accelerometer: 6993840558,0.440748,2.20374,10.5588
+accelerometer: 6993860577,0.804845,2.47202,10.9612
+irProximity:6993876272,0.137255
+accelerometer: 6993880566,0.804845,2.18458,11.2295
+accelerometer: 6993900586,1.07313,2.03127,11.057
+accelerometer: 6993920910,0.824008,2.31872,10.5013
+accelerometer: 6993940930,0.996474,2.83612,10.3288
+accelerometer: 6993960919,1.87797,2.89361,10.4055
+irProximity:6993976949,0.101961
+accelerometer: 6993980938,2.33788,2.97026,10.6546
+accelerometer: 6994000866,2.51035,2.91277,9.75395
+accelerometer: 6994020947,2.85528,3.20022,9.40902
+accelerometer: 6994040936,3.60264,4.27334,9.86893
+accelerometer: 6994060925,3.89008,4.02422,9.04492
+irProximity:6994077596,0.121569
+accelerometer: 6994080945,4.40748,4.06255,8.01012
+accelerometer: 6994100689,4.61828,6.89867,7.56937
+accelerometer: 6994120923,5.5381,8.54668,7.22444
+accelerometer: 6994140942,4.48413,7.14779,5.5381
+accelerometer: 6994160809,2.0696,6.53457,2.79779
+irProximity:6994178274,0.117647
+accelerometer: 6994180920,0.153304,7.12862,1.20727
+orientation:6994180920,1
+accelerometer: 6994201001,-1.85881,7.07114,-0.440748
+accelerometer: 6994220929,-2.12709,8.2784,-1.82048
+accelerometer: 6994240918,-0.843171,7.47356,-1.36057
+accelerometer: 6994260907,0.172467,7.87598,-0.0958148
+irProximity:6994280477,0.0588235
+accelerometer: 6994280896,-0.536563,7.89514,0.459911
+accelerometer: 6994300580,-1.14978,7.91431,-0.210793
+accelerometer: 6994322339,-0.440748,8.2784,-0.632378
+accelerometer: 6994340954,0.019163,8.71915,-0.824008
+accelerometer: 6994360943,0.479074,8.66166,-0.32577
+irProximity:6994381002,0.156863
+accelerometer: 6994381024,0.344933,8.94911,-0.402422
+accelerometer: 6994400586,0.229956,9.29404,-0.172467
+accelerometer: 6994420910,0.651541,9.54316,0.0574889
+accelerometer: 6994440899,0.90066,9.56232,0.421585
+accelerometer: 6994460919,0.613215,9.42818,0.153304
+irProximity:6994481741,0.27451
+accelerometer: 6994481213,0.958148,9.60065,-0.0958148
+accelerometer: 6994501599,0.383259,9.23655,-0.747356
+accelerometer: 6994520764,-1.45639,8.14426,-0.574889
+accelerometer: 6994540814,-6.70704,4.84823,-1.16894
+accelerometer: 6994560833,-13.9698,0.5174,-0.938986
+accelerometer: 6994580517,-21.3092,-4.33083,-2.587
+irProximity:6994582265,0.270588
+accelerometer: 6994600537,-22.1141,-9.38986,-2.16542
+accelerometer: 6994620831,-13.8548,-14.1614,0.555726
+accelerometer: 6994640820,0.919823,-17.9557,4.48413
+accelerometer: 6994660779,21.4242,-17.9174,8.85329
+accelerometer: 6994680645,37.8469,-10.3288,-0.459911
+irProximity:6994683187,0.34902
+accelerometer: 6994701184,35.5665,-5.94052,-2.54868
+accelerometer: 6994720929,25.7359,-10.5205,4.86739
+accelerometer: 6994740918,21.2326,-7.62686,8.4892
+accelerometer: 6994760907,16.8251,-5.26982,7.35858
+accelerometer: 6994780713,12.5709,-3.35352,2.2229
+irProximity:6994784078,0.0862745
+accelerometer: 6994800549,10.7696,-3.89008,-0.134141
+accelerometer: 6994820935,11.4786,-3.12356,0.421585
+orientation:6994820935,4
+accelerometer: 6994840924,12.4943,-3.83259,0.114978
+accelerometer: 6994860913,12.1302,-3.06608,-0.0574889
+accelerometer: 6994880749,10.5205,-2.14625,0.804845
+irProximity:6994884969,0.141176
+accelerometer: 6994900647,10.2522,-1.5522,1.66718
+accelerometer: 6994920941,9.81144,-1.80132,2.10793
+accelerometer: 6994940930,9.0066,-1.89713,2.51035
+accelerometer: 6994960888,8.71915,-2.26123,2.85528
+accelerometer: 6994980755,8.52752,-2.2229,3.35352
+irProximity:6994985830,0.0901961
+accelerometer: 6995000775,8.22091,-2.68282,3.18105
+accelerometer: 6995020916,8.50836,-2.41453,2.77863
+accelerometer: 6995040905,8.50836,-2.51035,2.7403
+accelerometer: 6995060894,8.87245,-2.12709,2.87445
+accelerometer: 6995080761,9.10241,-2.52951,3.14273
+irProximity:6995086721,0.0941176
+accelerometer: 6995100567,9.0066,-2.29956,3.04691
+accelerometer: 6995120862,8.81497,-2.64449,3.02775
+accelerometer: 6995140759,8.6425,-2.4337,2.47202
+accelerometer: 6995160931,8.87245,-2.03127,2.41453
+accelerometer: 6995180706,9.27488,-1.95462,2.91277
+irProximity:6995187551,0.0980392
+accelerometer: 6995201153,9.3132,-2.0696,3.18105
+accelerometer: 6995220929,9.17906,-2.10793,3.23854
+accelerometer: 6995240857,8.98743,-2.29956,3.41101
+accelerometer: 6995260907,8.94911,-2.0696,3.21938
+accelerometer: 6995280713,8.83413,-2.14625,3.04691
+accelerometer: 6995300518,8.73831,-1.99295,2.9511
+accelerometer: 6995321087,8.77664,-2.12709,3.1044
+accelerometer: 6995340924,8.68083,-2.20374,3.14273
+accelerometer: 6995360882,8.66166,-2.18458,3.00859
+accelerometer: 6995380719,8.71915,-2.2229,2.9511
+irProximity:6995389303,0
+accelerometer: 6995400769,8.69999,-2.26123,3.02775
+accelerometer: 6995420910,8.7958,-2.16542,3.21938
+accelerometer: 6995440899,8.73831,-2.0696,3.23854
+accelerometer: 6995460888,8.6425,-1.97379,3.16189
+accelerometer: 6995480694,8.73831,-2.2229,3.33436
+irProximity:6995490011,0.0627451
+accelerometer: 6995500531,8.71915,-2.0696,3.54515
+accelerometer: 6995520916,8.73831,-2.18458,3.48766
+accelerometer: 6995540966,8.75748,-1.85881,3.43017
+accelerometer: 6995560925,8.91078,-1.93546,3.44933
+accelerometer: 6995580761,8.77664,-2.03127,3.23854
+irProximity:6995590963,0.0705882
+accelerometer: 6995601056,8.81497,-2.01211,3.44933
+accelerometer: 6995620862,8.71915,-2.10793,3.7751
+accelerometer: 6995640881,8.85329,-1.93546,4.02422
+accelerometer: 6995661053,8.7958,-2.24207,4.21585
+accelerometer: 6995680737,8.68083,-2.33788,3.94757
+accelerometer: 6995700543,8.73831,-2.26123,3.89008
+accelerometer: 6995720929,8.83413,-2.03127,4.63744
+accelerometer: 6995740887,8.87245,-2.03127,5.40396
+accelerometer: 6995760937,9.12157,-1.72467,6.49625
+accelerometer: 6995780896,8.73831,-1.72467,6.91783
+irProximity:6995792348,0
+accelerometer: 6995800549,8.24008,-2.47202,7.10946
+accelerometer: 6995820904,7.66519,-2.0696,7.28193
+accelerometer: 6995840924,6.78369,-2.70198,7.43523
+accelerometer: 6995860913,5.6914,-2.41453,7.53105
+orientation:6995860913,5
+accelerometer: 6995880932,4.46497,-2.10793,7.4544
+accelerometer: 6995900738,3.67929,-2.05044,7.41607
+accelerometer: 6995920910,3.23854,-1.87797,7.72268
+accelerometer: 6995940747,2.9511,-1.51387,8.50836
+accelerometer: 6995960858,2.72114,-1.43722,9.06409
+accelerometer: 6995980877,2.2229,-1.64802,8.73831
+irProximity:6995993764,0.105882
+accelerometer: 6996003003,1.66718,-1.7055,9.17906
+accelerometer: 6996020855,1.43722,-1.60969,9.40902
+accelerometer: 6996040875,1.20727,-1.83965,9.29404
+accelerometer: 6996060925,1.07313,-1.68634,9.46651
+accelerometer: 6996080945,1.24559,-1.41806,9.73479
+irProximity:6996094472,0
+accelerometer: 6996101147,0.90066,-1.30308,9.61981
+accelerometer: 6996120923,0.498237,-1.49471,9.04492
+accelerometer: 6996140912,0.5174,-1.16894,9.04492
+accelerometer: 6996160870,0.728193,-1.3989,9.48567
+accelerometer: 6996180890,0.19163,-1.09229,9.524
+accelerometer: 6996200543,0.344933,-1.24559,8.75748
+accelerometer: 6996220929,0.364096,-1.05396,9.40902
+accelerometer: 6996240918,0.364096,-1.34141,9.44734
+accelerometer: 6996260846,0.498237,-1.05396,9.61981
+accelerometer: 6996280896,0.459911,-0.958148,9.84977
+irProximity:6996295827,0.0196078
+accelerometer: 6996300549,0.32577,-0.804845,9.56232
+accelerometer: 6996320904,0.498237,-1.32224,9.14074
+accelerometer: 6996340893,0.229956,-1.51387,9.1599
+accelerometer: 6996360913,0.268282,-0.938986,9.40902
+accelerometer: 6996380902,0.364096,-1.07313,9.61981
+irProximity:6996396505,0
+accelerometer: 6996400799,-0.019163,-1.41806,9.44734
+accelerometer: 6996420880,-0.134141,-1.20727,9.8306
+accelerometer: 6996440838,-0.19163,-1.45639,9.90726
+accelerometer: 6996460827,-0.287445,-1.09229,9.84977
+accelerometer: 6996480725,0.019163,-0.440748,8.83413
+irProximity:6996497182,0.109804
+accelerometer: 6996500561,-0.344933,-1.22643,9.42818
+accelerometer: 6996522473,-0.383259,-1.37973,9.23655
+accelerometer: 6996541760,-0.594052,-1.41806,9.90726
+accelerometer: 6996561749,-0.594052,-1.57136,10.0989
+accelerometer: 6996581494,-0.498237,-1.28392,9.86893
+irProximity:6996597921,0.176471
+accelerometer: 6996601269,-0.344933,-1.13062,9.79228
+accelerometer: 6996621930,-0.249119,-1.05396,9.90726
+accelerometer: 6996641766,-0.0574889,-1.34141,10.2139
+accelerometer: 6996661419,-0.306608,-1.20727,10.3288
+accelerometer: 6996681378,-0.689867,-0.536563,10.5396
+irProximity:6996698598,0.0392157
+accelerometer: 6996701428,0.0383259,-0.843171,9.60065
+accelerometer: 6996720837,-0.134141,-0.5174,9.19823
+accelerometer: 6996740674,-0.210793,-0.766519,9.56232
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat
new file mode 100644
index 0000000000..9a821d1848
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat
@@ -0,0 +1,258 @@
+accelerometer: 939660514,0.0766519,0.019163,10.0222
+accelerometer: 939680625,-0.0383259,0.0383259,9.86893
+orientation:910530601,5
+proximity:939716616,0
+irProximity:939718660,0.105882
+accelerometer: 939720542,-0.172467,0.019163,9.56232
+accelerometer: 939740806,0.0574889,0.153304,9.88809
+accelerometer: 939760856,-0.0383259,0.0383259,9.79228
+accelerometer: 939780845,0.0383259,0.0766519,9.86893
+accelerometer: 939800834,-0.0383259,0.0958148,9.69646
+irProximity:939819307,0.137255
+accelerometer: 939820609,0.019163,0.0766519,9.84977
+accelerometer: 939840812,-0.114978,0.0574889,9.69646
+accelerometer: 939860801,-0.0574889,0.019163,9.86893
+accelerometer: 939880851,-0.153304,0.0574889,9.6773
+accelerometer: 939900749,-0.0383259,0.0766519,9.8306
+irProximity:939919954,0
+accelerometer: 939920799,-0.153304,0.0574889,9.79228
+accelerometer: 939940849,-0.019163,0.0574889,9.8306
+accelerometer: 939960838,-0.134141,0.0383259,9.79228
+accelerometer: 939980827,-0.019163,0.0574889,9.84977
+accelerometer: 940001884,-0.0766519,0.0383259,9.69646
+irProximity:940020632,0.109804
+accelerometer: 940020927,-0.0766519,0.0766519,9.79228
+accelerometer: 940040824,-0.0766519,0.0766519,9.81144
+accelerometer: 940060661,-0.0383259,0.0574889,9.92642
+accelerometer: 940080772,-0.114978,0.0574889,9.81144
+accelerometer: 940100700,0.0383259,0.0574889,9.75395
+irProximity:940121279,0.129412
+accelerometer: 940120872,-0.0383259,0.134141,9.79228
+accelerometer: 940140830,-0.114978,0.0574889,9.6773
+accelerometer: 940160850,-0.0574889,0.0766519,9.73479
+accelerometer: 940180839,-0.0766519,0.114978,9.77311
+accelerometer: 940200553,-0.019163,0.0574889,9.79228
+irProximity:940221987,0.0784314
+accelerometer: 940220664,-0.0766519,0.0958148,9.71563
+accelerometer: 940241660,-0.134141,0.0958148,9.86893
+accelerometer: 940260612,-0.114978,0.134141,9.77311
+accelerometer: 940280814,-0.0766519,0.0766519,9.73479
+accelerometer: 940300834,-0.0383259,0.0958148,9.75395
+accelerometer: 940320609,-0.134141,0.0766519,9.81144
+irProximity:940322603,0.0980392
+accelerometer: 940340843,-0.0574889,0.134141,9.86893
+accelerometer: 940360832,-0.0958148,0.0766519,9.84977
+accelerometer: 940380851,-0.0958148,-0.019163,9.73479
+accelerometer: 940400840,-0.0574889,0.134141,9.75395
+accelerometer: 940420615,-2.28039,0.19163,10.4247
+irProximity:940423067,0.00784314
+accelerometer: 940440849,-1.89713,-1.13062,10.0606
+accelerometer: 940460838,2.97026,-1.22643,9.63897
+accelerometer: 940480644,0.344933,1.82048,10.8462
+accelerometer: 940500785,2.14625,-0.210793,9.56232
+accelerometer: 940520683,0.306608,-0.90066,10.0414
+irProximity:940523745,0
+accelerometer: 940540763,0.210793,-0.5174,9.3132
+accelerometer: 940560844,0.689867,-0.0383259,10.5013
+accelerometer: 940580650,1.72467,-0.172467,10.8654
+accelerometer: 940600822,6.99448,-1.05396,11.2678
+accelerometer: 940620689,5.28898,1.07313,7.89514
+irProximity:940624605,0.0980392
+accelerometer: 940640861,-1.07313,0.287445,10.1372
+accelerometer: 940660667,-2.12709,-2.79779,7.39691
+accelerometer: 940680808,5.51894,-2.60616,8.60417
+accelerometer: 940700828,3.44933,-0.0383259,9.96474
+accelerometer: 940720695,2.83612,-2.49119,11.3636
+irProximity:940725466,0.160784
+accelerometer: 940740836,3.89008,-1.1881,12.4176
+accelerometer: 940760825,5.40396,-2.20374,11.4786
+accelerometer: 940780845,3.21938,-0.344933,14.2572
+accelerometer: 940800834,1.01564,-1.20727,12.82
+accelerometer: 940820701,1.43722,-0.0766519,12.4368
+irProximity:940826326,0.0980392
+accelerometer: 940840873,2.4337,2.35705,13.1266
+accelerometer: 940860862,1.89713,-0.0574889,13.1075
+accelerometer: 940880851,0.594052,0.996474,11.6128
+accelerometer: 940900657,-0.383259,0.114978,10.9804
+accelerometer: 940920646,-1.43722,1.24559,9.56232
+irProximity:940927187,0
+accelerometer: 940940666,-1.57136,2.60616,7.72268
+accelerometer: 940960777,-0.651541,4.15836,7.37774
+accelerometer: 940980796,-0.172467,4.44581,6.99448
+accelerometer: 941000694,-0.172467,5.00153,5.61475
+accelerometer: 941020683,0.019163,5.15484,5.21233
+accelerometer: 941040824,-0.459911,5.44228,4.21585
+orientation:941040824,1
+accelerometer: 941060874,-0.5174,6.01717,4.17753
+accelerometer: 941080650,-0.0383259,6.30462,4.71409
+accelerometer: 941100791,0.0958148,6.2088,4.69493
+accelerometer: 941120689,-0.440748,6.2088,4.44581
+irProximity:941128878,0.180392
+accelerometer: 941140830,-0.0383259,6.5729,4.96321
+accelerometer: 941160850,0.0766519,6.84118,5.40396
+accelerometer: 941180839,-0.479074,6.7262,5.55726
+accelerometer: 941200828,-0.919823,6.63039,5.48061
+accelerometer: 941220695,-0.919823,6.76453,5.63391
+irProximity:941229738,0
+accelerometer: 941240562,-1.01564,6.86034,5.94052
+accelerometer: 941260642,-0.32577,6.86034,6.32378
+accelerometer: 941280875,-0.268282,6.91783,6.32378
+accelerometer: 941300834,-0.574889,6.70704,5.90219
+accelerometer: 941320670,-0.824008,6.51541,5.97885
+irProximity:941330446,0.12549
+accelerometer: 941340812,-1.1881,6.49625,6.70704
+accelerometer: 941360648,-0.824008,6.76453,7.2436
+accelerometer: 941380790,-0.613215,6.97532,7.14779
+accelerometer: 941400840,-0.574889,6.95616,6.97532
+accelerometer: 941420677,-0.651541,6.937,6.76453
+irProximity:941431307,0.0235294
+accelerometer: 941440849,-0.824008,6.99448,6.86034
+accelerometer: 941460807,-0.862334,6.937,7.35858
+accelerometer: 941480857,-0.881497,6.97532,7.30109
+accelerometer: 941500663,-0.804845,6.97532,7.47356
+accelerometer: 941522361,-1.0348,6.78369,6.99448
+irProximity:941531832,0.156863
+accelerometer: 941540519,-1.0348,6.82202,6.86034
+accelerometer: 941560600,-0.919823,7.01365,6.937
+accelerometer: 941580680,-0.728193,6.97532,6.91783
+accelerometer: 941600700,-0.766519,6.80285,6.59206
+accelerometer: 941620689,-0.670704,6.95616,6.66871
+irProximity:941632540,0.105882
+accelerometer: 941640678,-0.70903,6.80285,6.64955
+accelerometer: 941660697,-0.747356,6.87951,6.55374
+accelerometer: 941680808,-0.670704,6.89867,6.74537
+accelerometer: 941700828,-0.670704,6.91783,6.95616
+accelerometer: 941720847,-0.613215,6.87951,6.7262
+irProximity:941733248,0.152941
+accelerometer: 941740684,-0.651541,6.86034,7.07114
+accelerometer: 941760764,-0.613215,6.80285,6.7262
+accelerometer: 941780692,-0.536563,6.95616,6.55374
+accelerometer: 941800803,-0.459911,6.937,6.87951
+accelerometer: 941820854,-0.555726,6.84118,6.66871
+irProximity:941833956,0.0745098
+accelerometer: 941840843,-0.785682,6.76453,6.59206
+accelerometer: 941860832,-0.843171,6.76453,6.68788
+accelerometer: 941880851,-0.651541,6.89867,6.82202
+accelerometer: 941900687,-0.383259,7.07114,7.32025
+accelerometer: 941920677,-0.440748,6.89867,6.76453
+irProximity:941934755,0.160784
+accelerometer: 941940849,-0.651541,6.89867,6.86034
+accelerometer: 941960868,-0.594052,6.91783,6.86034
+accelerometer: 941980827,-0.536563,6.87951,6.59206
+accelerometer: 942000602,-0.594052,6.95616,6.64955
+accelerometer: 942020896,-0.555726,6.89867,6.55374
+irProximity:942035463,0.109804
+accelerometer: 942040855,-0.632378,6.82202,6.82202
+accelerometer: 942060844,-0.574889,6.82202,6.87951
+accelerometer: 942080833,-0.574889,6.86034,6.91783
+accelerometer: 942100883,-0.613215,6.82202,6.99448
+accelerometer: 942120872,-0.594052,6.86034,6.99448
+irProximity:942136171,0.0862745
+accelerometer: 942140830,-0.670704,6.86034,6.97532
+accelerometer: 942160667,-0.785682,6.87951,6.74537
+accelerometer: 942180839,-0.440748,6.99448,6.95616
+accelerometer: 942200675,-0.440748,6.87951,6.99448
+accelerometer: 942220817,-0.32577,6.937,6.70704
+irProximity:942236879,0.176471
+accelerometer: 942240836,-0.364096,6.89867,6.66871
+accelerometer: 942260825,-0.383259,6.84118,6.63039
+accelerometer: 942280845,-0.32577,6.87951,6.74537
+accelerometer: 942300865,-0.383259,6.86034,6.61122
+accelerometer: 942320884,-0.613215,6.86034,6.937
+irProximity:942337587,0
+accelerometer: 942340659,-0.728193,6.80285,6.99448
+accelerometer: 942360801,-0.728193,6.80285,6.86034
+accelerometer: 942380851,-0.766519,6.86034,6.70704
+accelerometer: 942400840,-0.555726,6.87951,6.937
+accelerometer: 942420860,-0.555726,6.76453,6.76453
+irProximity:942438265,0.0392157
+accelerometer: 942440879,-0.574889,6.7262,6.68788
+accelerometer: 942460868,-0.613215,6.70704,6.63039
+accelerometer: 942480857,-0.747356,6.59206,7.14779
+accelerometer: 942500877,-0.632378,6.70704,7.16695
+accelerometer: 942520866,-0.498237,6.61122,6.76453
+irProximity:942538912,0.105882
+accelerometer: 942540885,-0.498237,6.55374,6.28545
+accelerometer: 942560691,-0.172467,6.40043,5.67224
+accelerometer: 942580650,-0.574889,5.46145,5.67224
+accelerometer: 942600852,-0.32577,6.47708,4.34999
+accelerometer: 942620658,-0.344933,5.86387,4.67576
+irProximity:942639620,0.0901961
+accelerometer: 942640861,-0.421585,5.72973,4.57995
+accelerometer: 942660880,-0.287445,5.23149,4.82907
+accelerometer: 942680869,-0.574889,4.69493,4.63744
+accelerometer: 942700828,-0.019163,4.59911,5.21233
+accelerometer: 942720878,0.651541,4.88656,6.03634
+orientation:942720878,5
+irProximity:942740328,0.0823529
+accelerometer: 942740867,0.574889,3.96673,7.95263
+accelerometer: 942760673,0.843171,3.21938,7.51188
+accelerometer: 942780784,1.01564,2.79779,7.55021
+accelerometer: 942800834,1.7055,2.91277,8.96827
+accelerometer: 942820854,1.89713,2.54868,10.4438
+irProximity:942841005,0.0431373
+accelerometer: 942840873,2.54868,2.01211,10.0031
+accelerometer: 942860832,2.4337,1.99295,10.3863
+accelerometer: 942880882,3.23854,1.47555,10.1755
+accelerometer: 942900688,3.39185,1.26476,11.5553
+accelerometer: 942920951,4.12004,1.28392,11.7852
+irProximity:942941591,0.113725
+accelerometer: 942940513,4.5033,1.60969,11.9194
+accelerometer: 942960868,5.28898,0.440748,12.8584
+accelerometer: 942980827,6.18964,1.32224,18.4923
+accelerometer: 943000694,4.98237,-0.555726,9.42818
+accelerometer: 943020805,4.19669,1.26476,9.25571
+irProximity:943042391,0.0823529
+accelerometer: 943040824,3.56431,1.01564,7.30109
+accelerometer: 943060844,3.41101,0.134141,7.32025
+accelerometer: 943080863,3.16189,-0.019163,7.58854
+accelerometer: 943100883,3.52599,-0.0958148,7.58854
+accelerometer: 943120872,2.85528,-0.862334,8.04845
+accelerometer: 943140586,1.11145,-0.440748,3.87092
+irProximity:943142885,0.00392157
+accelerometer: 943160880,-1.24559,-0.728193,12.341
+accelerometer: 943180656,1.14978,-0.364096,10.2139
+accelerometer: 943200797,1.1881,-0.70903,8.7958
+accelerometer: 943220878,1.13062,0.249119,10.463
+accelerometer: 943240806,1.49471,1.1881,12.8009
+irProximity:943243349,0.0627451
+accelerometer: 943260703,0.344933,0.229956,14.1614
+accelerometer: 943280875,0.996474,0.440748,10.8271
+accelerometer: 943300834,-0.268282,0.0958148,9.79228
+accelerometer: 943320884,-0.134141,0.574889,10.463
+accelerometer: 943340690,0.536563,0.134141,10.6163
+irProximity:943344210,0.160784
+accelerometer: 943360862,-0.766519,-0.364096,8.56585
+accelerometer: 943380851,0.479074,0.344933,10.3863
+accelerometer: 943400840,-0.344933,0.287445,9.81144
+accelerometer: 943420646,-0.172467,-0.172467,9.3132
+accelerometer: 943440757,-0.0383259,0.134141,9.88809
+irProximity:943445040,0
+accelerometer: 943460685,-0.268282,0.19163,9.6773
+accelerometer: 943480796,0.440748,0.0383259,10.3288
+accelerometer: 943500877,-0.306608,0.0383259,9.46651
+accelerometer: 943520866,0.0574889,0.0574889,10.118
+accelerometer: 943540672,-0.210793,0.153304,9.6773
+irProximity:943545900,0.113725
+accelerometer: 943560691,-0.229956,0.0766519,9.56232
+accelerometer: 943580680,-0.19163,0.0574889,9.63897
+accelerometer: 943600669,-0.114978,0.0766519,9.58148
+accelerometer: 943620811,-0.19163,0.0766519,9.61981
+accelerometer: 943640678,0.019163,0.0766519,9.92642
+irProximity:943646761,0
+accelerometer: 943660880,-0.229956,0.0958148,9.56232
+accelerometer: 943680839,0.19163,0.0574889,10.0222
+accelerometer: 943700828,-1.78216,-0.689867,7.35858
+accelerometer: 943720908,0.651541,-0.19163,11.8236
+accelerometer: 943740836,0.0766519,-0.0383259,11.4211
+irProximity:943747682,0.0470588
+accelerometer: 943760856,-1.09229,0.306608,8.25924
+accelerometer: 943780875,-0.0574889,0.0958148,10.2522
+accelerometer: 943800865,-0.134141,-0.0574889,9.71563
+accelerometer: 943820976,-0.440748,-0.019163,9.3132
+accelerometer: 943840751,-0.019163,0.0766519,10.118
+irProximity:943848360,0.121569
+accelerometer: 943860587,-0.229956,0.0958148,9.77311
+accelerometer: 943880607,-0.0574889,0.134141,9.50483
+accelerometer: 943900596,0.306608,-0.0574889,9.81144
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat
new file mode 100644
index 0000000000..fd839ec910
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat
@@ -0,0 +1,260 @@
+accelerometer: 948550803,0.0383259,2.12709,8.66166
+accelerometer: 948570579,-0.32577,2.18458,9.17906
+orientation:942720878,5
+proximity:948579652,0
+irProximity:948581789,0.129412
+accelerometer: 948590781,0.249119,2.05044,9.48567
+accelerometer: 948610832,-0.114978,1.72467,9.3132
+accelerometer: 948630882,0.114978,1.87797,9.48567
+accelerometer: 948650840,0.229956,2.10793,8.73831
+accelerometer: 948670646,0.268282,1.85881,8.58501
+irProximity:948682588,0.0705882
+accelerometer: 948690879,0.0574889,0.824008,8.31673
+accelerometer: 948710655,-0.555726,2.49119,8.69999
+accelerometer: 948730827,-0.344933,2.72114,10.1564
+accelerometer: 948750846,-1.37973,3.00859,10.2905
+accelerometer: 948770835,-0.843171,3.73678,10.2714
+irProximity:948783296,0.12549
+accelerometer: 948790824,-0.536563,3.6218,9.63897
+accelerometer: 948810874,-0.268282,4.34999,8.4892
+accelerometer: 948830863,0.268282,4.25418,7.89514
+accelerometer: 948850669,0.287445,3.60264,7.28193
+accelerometer: 948870780,-0.19163,2.66365,7.14779
+irProximity:948884004,0.156863
+accelerometer: 948890678,-5.57642,6.03634,14.4489
+accelerometer: 948910911,-0.268282,3.60264,7.79933
+accelerometer: 948930839,-0.498237,4.57995,8.6425
+accelerometer: 948950828,-0.843171,5.19316,10.1372
+accelerometer: 948970817,-0.306608,3.79427,9.27488
+irProximity:948984682,0
+accelerometer: 948990684,0.440748,3.41101,9.08325
+accelerometer: 949010825,-0.632378,3.66013,8.4892
+accelerometer: 949030662,-1.45639,3.89008,7.26277
+accelerometer: 949050803,-0.249119,4.25418,8.73831
+accelerometer: 949070854,0.651541,4.69493,10.2905
+irProximity:949085359,0.129412
+accelerometer: 949090659,0.479074,3.20022,9.88809
+accelerometer: 949110771,-1.05396,2.60616,10.2905
+accelerometer: 949130668,-0.689867,1.87797,10.3097
+accelerometer: 949150779,-0.613215,2.64449,9.54316
+accelerometer: 949170829,-0.268282,3.58348,9.29404
+irProximity:949186037,0.121569
+accelerometer: 949190849,-0.364096,4.52246,9.29404
+accelerometer: 949210838,-0.670704,3.75594,8.85329
+accelerometer: 949231010,-0.996474,3.58348,9.06409
+accelerometer: 949250846,-0.90066,3.64096,9.6773
+accelerometer: 949270652,-0.632378,3.64096,9.58148
+irProximity:949286622,0.0980392
+accelerometer: 949290855,-0.440748,4.17753,8.7958
+accelerometer: 949310874,-0.0766519,4.08171,9.19823
+accelerometer: 949330863,-0.0383259,4.04339,9.10241
+accelerometer: 949350852,0.229956,3.52599,8.87245
+accelerometer: 949370841,1.30308,4.04339,8.60417
+irProximity:949387330,0
+accelerometer: 949390830,2.18458,4.06255,8.31673
+accelerometer: 949410850,3.43017,5.07819,7.78017
+accelerometer: 949430839,3.39185,4.56079,7.03281
+accelerometer: 949450797,2.33788,3.9859,5.32731
+accelerometer: 949470847,-3.71762,4.42665,3.9859
+irProximity:949488008,0.0901961
+accelerometer: 949490867,-21.3092,-0.632378,2.31872
+accelerometer: 949510642,-37.0229,-10.0414,2.39537
+accelerometer: 949530875,-32.7878,-11.6511,10.0606
+accelerometer: 949550651,-15.0429,-9.40902,16.6143
+accelerometer: 949570854,5.78722,-4.96321,19.6612
+irProximity:949588685,0.027451
+accelerometer: 949590904,32.0022,5.82554,21.8841
+accelerometer: 949610832,39.2266,14.4489,19.7762
+accelerometer: 949630882,39.2266,16.1927,12.9542
+accelerometer: 949651054,37.1762,8.7958,7.35858
+accelerometer: 949670829,4.44581,-3.48766,1.47555
+irProximity:949689363,0.152941
+accelerometer: 949690666,-39.2458,-16.6335,-4.19669
+accelerometer: 949710807,-39.2458,-26.2533,8.16343
+accelerometer: 949730796,-39.2458,-33.2478,23.398
+accelerometer: 949750816,-31.5422,-25.4101,25.4676
+accelerometer: 949770866,8.35505,-10.6929,19.2013
+irProximity:949790040,0
+accelerometer: 949790855,39.2266,7.37774,14.1039
+accelerometer: 949810874,39.2266,18.0515,5.76805
+accelerometer: 949830833,39.2266,20.7727,-0.153304
+accelerometer: 949850883,39.2266,11.6128,-1.83965
+accelerometer: 949870872,4.6566,-7.6077,0.881497
+irProximity:949890748,0.0980392
+accelerometer: 949890678,-39.2458,-20.696,4.36916
+accelerometer: 949910911,-39.2458,-30.8332,20.5427
+accelerometer: 949930686,-39.2458,-30.7949,29.3768
+accelerometer: 949950797,-33.3244,-22.0183,25.046
+accelerometer: 949970695,2.20374,-11.1337,14.7363
+irProximity:949991334,0.121569
+accelerometer: 949990562,36.0647,5.0207,10.2139
+accelerometer: 950010673,39.2266,15.5412,2.54868
+accelerometer: 950030845,39.2266,19.7762,1.28392
+accelerometer: 950050865,39.2266,12.8009,2.16542
+accelerometer: 950070884,19.2013,-0.287445,5.76805
+irProximity:950092073,0.105882
+accelerometer: 950090751,-19.4313,-12.0152,5.95968
+accelerometer: 950110648,-39.2458,-26.9431,15.6753
+accelerometer: 950130790,-39.2458,-33.2861,27.633
+accelerometer: 950150840,-39.2458,-29.7793,24.9502
+accelerometer: 950170829,-16.4227,-17.7832,14.1806
+accelerometer: 950190696,22.9381,-3.89008,10.4438
+irProximity:950192720,0
+accelerometer: 950210868,39.2266,16.7676,5.40396
+accelerometer: 950230644,39.2266,20.3319,-0.32577
+accelerometer: 950250877,39.2266,14.9471,-1.16894
+accelerometer: 950270683,31.9638,6.2088,0.19163
+accelerometer: 950290641,1.93546,-5.72973,4.00506
+irProximity:950293153,0.0901961
+accelerometer: 950310844,-24.6436,-15.2346,11.4786
+accelerometer: 950330863,-35.1257,-18.2815,20.1403
+accelerometer: 950350700,-28.3804,-13.3758,22.5931
+accelerometer: 950370811,-18.7605,-7.91431,20.1403
+accelerometer: 950390647,-9.46651,-3.04691,15.7328
+irProximity:950393800,0.121569
+accelerometer: 950410819,-2.66365,0.498237,11.057
+accelerometer: 950430839,1.97379,2.75947,7.6077
+accelerometer: 950450797,4.82907,4.40748,6.32378
+accelerometer: 950470878,5.25065,4.6566,5.90219
+accelerometer: 950490684,3.48766,5.05902,8.73831
+irProximity:950494661,0.0431373
+accelerometer: 950511100,3.20022,4.94405,10.3863
+accelerometer: 950530692,1.32224,2.97026,9.33237
+accelerometer: 950550803,0.919823,2.7403,8.6425
+accelerometer: 950570884,1.49471,2.87445,9.50483
+accelerometer: 950590720,1.28392,2.41453,9.79228
+irProximity:950595521,0.156863
+accelerometer: 950610862,0.919823,2.20374,9.79228
+accelerometer: 950630882,0.938986,2.33788,10.233
+accelerometer: 950650871,0.862334,2.0696,10.1564
+accelerometer: 950670860,0.268282,1.66718,9.25571
+accelerometer: 950690696,-0.383259,1.72467,8.91078
+irProximity:950696443,0.0392157
+accelerometer: 950710838,-0.364096,1.68634,10.0414
+accelerometer: 950730857,0.0383259,0.996474,10.578
+accelerometer: 950750846,0.268282,1.24559,9.48567
+accelerometer: 950770683,0.651541,1.87797,9.27488
+accelerometer: 950790641,0.19163,1.93546,9.46651
+irProximity:950797304,0.0745098
+accelerometer: 950810691,0.210793,1.32224,9.65814
+accelerometer: 950830833,-0.134141,1.14978,9.6773
+accelerometer: 950850883,-0.19163,1.13062,9.6773
+accelerometer: 950870872,0.153304,0.996474,10.233
+accelerometer: 950890678,0.306608,1.26476,9.65814
+irProximity:950897859,0
+accelerometer: 950910880,0.0383259,1.41806,9.21739
+accelerometer: 950930869,0.19163,1.32224,9.1599
+accelerometer: 950950675,0.536563,1.72467,9.44734
+accelerometer: 950970817,0.344933,1.64802,9.56232
+accelerometer: 950990684,0.421585,1.53304,9.84977
+irProximity:950998597,0.168627
+accelerometer: 951010856,0.229956,1.37973,9.54316
+accelerometer: 951030845,-0.0574889,1.37973,9.1599
+accelerometer: 951050865,-0.229956,1.36057,9.06409
+accelerometer: 951070854,-0.0383259,1.20727,9.19823
+accelerometer: 951090690,0.0766519,1.37973,9.6773
+irProximity:951099458,0
+accelerometer: 951110862,0.32577,1.30308,9.77311
+accelerometer: 951130882,0.249119,1.53304,9.42818
+accelerometer: 951150840,0.344933,1.78216,9.3132
+accelerometer: 951170860,0.306608,1.68634,9.73479
+accelerometer: 951190666,0.249119,1.64802,9.79228
+accelerometer: 951210777,0.249119,1.57136,9.69646
+accelerometer: 951231376,0.114978,1.5522,9.56232
+accelerometer: 951250785,-0.019163,1.76299,9.77311
+accelerometer: 951270683,0.0383259,1.57136,9.75395
+accelerometer: 951290672,-0.019163,1.64802,9.50483
+accelerometer: 951310844,0.0383259,1.62885,9.46651
+accelerometer: 951330833,0.0383259,1.41806,9.63897
+accelerometer: 951350852,0.153304,1.64802,9.6773
+accelerometer: 951370689,0.229956,1.66718,9.71563
+accelerometer: 951390647,0.172467,1.66718,9.50483
+irProximity:951401857,0.101961
+accelerometer: 951410880,0.19163,1.5522,9.60065
+accelerometer: 951430839,-0.0574889,1.66718,9.71563
+accelerometer: 951450858,-0.114978,1.5522,9.54316
+accelerometer: 951470878,0.210793,1.76299,9.69646
+accelerometer: 951490867,0.19163,1.62885,9.524
+irProximity:951502534,0
+accelerometer: 951510825,0.114978,1.66718,9.65814
+accelerometer: 951530540,0.268282,1.89713,9.56232
+accelerometer: 951550529,0.306608,1.83965,9.40902
+accelerometer: 951570701,0.249119,1.7055,9.54316
+accelerometer: 951590720,0.172467,1.74383,9.56232
+accelerometer: 951610618,0.19163,1.5522,9.40902
+accelerometer: 951630637,0.153304,1.7055,9.46651
+accelerometer: 951650657,0.114978,1.80132,9.71563
+accelerometer: 951670615,0.229956,1.68634,9.58148
+accelerometer: 951690940,-0.019163,1.97379,8.91078
+irProximity:951704133,0.027451
+accelerometer: 951711540,0.0766519,1.74383,9.3132
+accelerometer: 951730583,-0.019163,1.72467,9.6773
+accelerometer: 951750816,0.0574889,1.5522,9.69646
+accelerometer: 951770652,0.0766519,1.43722,9.92642
+accelerometer: 951790611,0.0574889,1.53304,9.73479
+irProximity:951804780,0.109804
+accelerometer: 951810661,0,1.47555,9.71563
+accelerometer: 951830802,0.114978,1.53304,9.90726
+accelerometer: 951850883,0.153304,1.47555,10.0989
+accelerometer: 951870872,0.229956,1.80132,9.92642
+accelerometer: 951890678,0.344933,1.82048,10.233
+irProximity:951905580,0.0588235
+accelerometer: 951910911,0.268282,1.68634,10.0414
+accelerometer: 951930869,0.249119,1.85881,9.60065
+accelerometer: 951950645,0.0574889,1.74383,9.40902
+accelerometer: 951970847,0.229956,1.83965,9.65814
+accelerometer: 951990684,0.344933,1.64802,9.71563
+irProximity:952006074,0
+accelerometer: 952010673,0.19163,1.5522,9.71563
+accelerometer: 952030662,0.172467,1.41806,9.77311
+accelerometer: 952050773,0.19163,1.30308,9.65814
+accelerometer: 952070670,0.19163,1.49471,9.63897
+accelerometer: 952090629,0.019163,1.57136,9.21739
+irProximity:952106721,0.129412
+accelerometer: 952110862,0.019163,1.68634,9.14074
+accelerometer: 952130851,0.0574889,1.80132,9.29404
+accelerometer: 952150840,0.249119,1.57136,9.88809
+accelerometer: 952170829,0.268282,1.3989,9.96474
+accelerometer: 952190849,0.172467,1.49471,9.90726
+irProximity:952207429,0.0862745
+accelerometer: 952210655,-0.019163,1.5522,9.71563
+accelerometer: 952231162,0,1.51387,9.73479
+accelerometer: 952250816,0.0574889,1.66718,9.63897
+accelerometer: 952270652,0.19163,1.5522,9.71563
+accelerometer: 952290794,0.134141,1.68634,9.38986
+irProximity:952308137,0.164706
+accelerometer: 952310874,0.172467,1.7055,9.524
+accelerometer: 952330833,0.153304,1.68634,9.40902
+accelerometer: 952350852,0.364096,1.64802,9.35153
+accelerometer: 952370872,0.479074,1.62885,9.58148
+accelerometer: 952390830,0.268282,1.5522,9.37069
+irProximity:952408815,0.0980392
+accelerometer: 952410850,0.0958148,1.60969,9.40902
+accelerometer: 952430839,0.0574889,1.57136,9.42818
+accelerometer: 952450614,0.0958148,1.7055,9.60065
+accelerometer: 952470847,0.134141,1.74383,9.524
+accelerometer: 952490653,0.402422,1.72467,9.65814
+irProximity:952509431,0
+accelerometer: 952510825,0.32577,1.82048,9.37069
+accelerometer: 952530845,0.421585,1.85881,9.46651
+accelerometer: 952550681,0.383259,1.87797,9.65814
+accelerometer: 952570854,0.172467,1.64802,9.63897
+accelerometer: 952590904,0.210793,1.85881,9.61981
+irProximity:952610139,0.121569
+accelerometer: 952610832,0.19163,1.89713,9.524
+accelerometer: 952630668,-0.0574889,1.89713,9.50483
+accelerometer: 952650779,0.306608,1.78216,9.77311
+accelerometer: 952670829,0.114978,2.10793,9.56232
+accelerometer: 952690849,-0.689867,1.99295,8.10594
+irProximity:952710634,0.0705882
+accelerometer: 952712455,0.0383259,2.03127,9.65814
+accelerometer: 952730827,0,1.60969,10.0797
+accelerometer: 952750877,-0.0383259,1.85881,10.1755
+accelerometer: 952770835,0.0574889,1.72467,10.5971
+accelerometer: 952790855,0.229956,1.5522,10.118
+irProximity:952811219,0.0784314
+accelerometer: 952810844,0.249119,2.14625,9.96474
+accelerometer: 952830680,0.019163,2.16542,9.06409
+accelerometer: 952850608,-0.0958148,2.51035,9.23655
+accelerometer: 952870628,0.344933,2.20374,9.63897
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat
new file mode 100644
index 0000000000..e8bc5c73ac
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat
@@ -0,0 +1,246 @@
+accelerometer: 958370628,-0.479074,1.93546,9.71563
+accelerometer: 958391135,-0.5174,2.05044,9.48567
+orientation:942720878,5
+proximity:958398560,0
+irProximity:958400575,0
+accelerometer: 958410850,-0.19163,2.16542,9.58148
+accelerometer: 958430839,-0.153304,2.20374,9.42818
+accelerometer: 958450797,-0.249119,2.05044,9.69646
+accelerometer: 958470847,-0.32577,1.85881,9.61981
+accelerometer: 958490684,-0.229956,1.78216,9.79228
+accelerometer: 958510642,-0.210793,1.66718,9.71563
+accelerometer: 958530875,-0.210793,1.93546,9.46651
+accelerometer: 958550681,-0.19163,1.82048,9.37069
+accelerometer: 958570915,-0.153304,2.01211,9.29404
+accelerometer: 958590720,-0.0766519,1.83965,9.19823
+irProximity:958602235,0.0862745
+accelerometer: 958610832,-0.0574889,1.9163,9.21739
+accelerometer: 958630851,-0.134141,1.83965,9.524
+accelerometer: 958650840,-0.153304,1.82048,9.75395
+accelerometer: 958670829,-0.19163,1.7055,9.98391
+accelerometer: 958690849,-0.153304,1.76299,9.86893
+irProximity:958702912,0.156863
+accelerometer: 958710838,-0.114978,1.76299,9.63897
+accelerometer: 958730827,0.019163,1.9163,9.58148
+accelerometer: 958750785,0.019163,1.78216,9.61981
+accelerometer: 958770774,0,2.05044,9.65814
+accelerometer: 958790641,0.229956,2.2229,9.33237
+irProximity:958803559,0.0431373
+accelerometer: 958810874,0.364096,2.31872,9.81144
+accelerometer: 958830833,0.594052,2.31872,10.1755
+accelerometer: 958850852,0.689867,2.41453,9.98391
+accelerometer: 958870841,1.5522,2.77863,10.3863
+accelerometer: 958891135,2.16542,3.27687,11.0762
+irProximity:958904237,0.133333
+accelerometer: 958910911,2.87445,3.66013,11.5744
+accelerometer: 958930656,2.51035,4.02422,11.3636
+accelerometer: 958950767,1.51387,3.37268,10.9229
+accelerometer: 958970847,1.34141,4.21585,11.6319
+accelerometer: 958990684,1.09229,3.94757,12.5326
+irProximity:959004884,0.129412
+accelerometer: 959010795,0.862334,4.04339,12.5134
+accelerometer: 959030845,0.90066,4.36916,11.9002
+accelerometer: 959050834,0.824008,4.23502,11.7086
+accelerometer: 959070854,1.14978,4.29251,12.6859
+accelerometer: 959090843,0.670704,4.06255,12.226
+irProximity:959105561,0.0392157
+accelerometer: 959110832,1.41806,4.19669,12.6092
+accelerometer: 959130882,1.89713,3.94757,11.7661
+accelerometer: 959150871,1.97379,4.33083,11.5169
+accelerometer: 959170646,2.12709,5.03986,10.0989
+accelerometer: 959190788,1.59053,5.00153,7.85682
+irProximity:959206239,0.0588235
+accelerometer: 959210655,1.28392,5.40396,6.09382
+accelerometer: 959230827,1.0348,5.44228,4.5033
+accelerometer: 959250846,-0.0574889,5.84471,2.81696
+orientation:959250846,1
+accelerometer: 959270835,-1.68634,5.26982,0.824008
+accelerometer: 959290763,-2.37621,6.01717,-1.60969
+irProximity:959306916,0.160784
+accelerometer: 959310844,-3.04691,5.42312,-1.87797
+accelerometer: 959330833,-3.89008,5.63391,-0.19163
+accelerometer: 959350669,-4.67576,5.49977,-0.919823
+accelerometer: 959370811,-4.79074,5.99801,-1.0348
+accelerometer: 959390830,-4.19669,6.22797,-0.594052
+irProximity:959407594,0
+accelerometer: 959410880,-4.1392,6.61122,-0.651541
+accelerometer: 959430839,-3.64096,7.0903,-0.134141
+accelerometer: 959450767,-3.06608,7.68435,0.0958148
+accelerometer: 959470878,-2.7403,7.99096,0.479074
+accelerometer: 959490836,-2.37621,8.50836,0.632378
+irProximity:959508271,0.109804
+accelerometer: 959510825,-2.2229,8.6425,0
+accelerometer: 959530845,-1.74383,9.37069,-0.134141
+accelerometer: 959550681,-1.30308,10.0414,0.440748
+accelerometer: 959570884,-1.45639,9.25571,-0.0958148
+accelerometer: 959590690,-1.64802,9.61981,-0.306608
+irProximity:959608887,0.129412
+accelerometer: 959610862,-1.53304,9.96474,-0.134141
+accelerometer: 959630668,-1.24559,9.60065,-0.306608
+accelerometer: 959650962,-1.09229,9.69646,-0.843171
+accelerometer: 959670829,-1.20727,10.4055,-0.613215
+accelerometer: 959690879,-0.651541,10.5013,-0.19163
+irProximity:959709595,0
+accelerometer: 959710868,-1.07313,10.3672,-0.421585
+accelerometer: 959730827,-1.5522,9.77311,0.229956
+accelerometer: 959750846,-1.68634,9.524,0.019163
+accelerometer: 959770683,-0.90066,10.118,-0.287445
+accelerometer: 959790855,-0.919823,9.79228,-0.210793
+accelerometer: 959810844,0.0958148,9.10241,0.594052
+accelerometer: 959830833,-1.1881,9.90726,0.785682
+accelerometer: 959850883,-0.344933,9.77311,0.114978
+accelerometer: 959870872,-0.268282,9.71563,0.306608
+accelerometer: 959890861,-0.632378,9.63897,0.268282
+irProximity:959910981,0.0470588
+accelerometer: 959910880,0.019163,9.63897,-0.172467
+accelerometer: 959930869,-0.32577,9.84977,-0.210793
+accelerometer: 959950858,-1.45639,10.0222,0.344933
+accelerometer: 959970847,-1.45639,8.92994,-0.0383259
+accelerometer: 959990684,-1.95462,8.83413,0.70903
+irProximity:960011567,0.117647
+accelerometer: 960010490,-2.49119,8.71915,0.287445
+accelerometer: 960030875,-3.23854,7.64602,0.555726
+accelerometer: 960050681,-3.92841,6.84118,0.249119
+accelerometer: 960070854,-5.00153,4.6566,0.728193
+accelerometer: 960090690,-9.23655,1.26476,0.5174
+accelerometer: 960110771,-14.4872,-3.58348,0.019163
+irProximity:960112611,0
+accelerometer: 960130912,-20.1978,-12.5326,0.229956
+accelerometer: 960150840,-21.2709,-22.574,-0.632378
+accelerometer: 960170829,-20.8685,-28.3037,-2.87445
+accelerometer: 960190696,-14.2764,-35.5473,-3.02775
+accelerometer: 960210685,1.11145,-38.1151,1.93546
+irProximity:960213074,0.0431373
+accelerometer: 960230857,27.3264,-38.8433,13.1266
+accelerometer: 960250877,39.2266,-22.229,6.03634
+accelerometer: 960270866,39.2266,-22.9956,6.86034
+orientation:960270866,4
+accelerometer: 960290641,39.2266,-24.6819,27.8055
+accelerometer: 960310722,39.2266,-10.9421,17.5341
+irProximity:960313966,0
+accelerometer: 960330863,19.1821,-4.38832,-4.15836
+accelerometer: 960350883,10.3863,-3.75594,-7.53105
+accelerometer: 960370872,8.83413,-5.71057,-1.57136
+accelerometer: 960390830,10.2522,-6.80285,3.18105
+accelerometer: 960410697,12.3984,-6.91783,3.87092
+irProximity:960414826,0.129412
+accelerometer: 960430686,11.9769,-6.937,3.54515
+accelerometer: 960450767,9.44734,-5.74889,1.53304
+accelerometer: 960470695,8.06761,-5.174,0.862334
+accelerometer: 960490806,6.47708,-5.67224,1.16894
+accelerometer: 960510673,6.24713,-5.36563,2.24207
+irProximity:960515717,0.145098
+accelerometer: 960530875,6.26629,-6.01717,2.52951
+accelerometer: 960550651,6.64955,-6.13215,2.68282
+accelerometer: 960570579,7.51188,-5.95968,2.45286
+accelerometer: 960590568,7.99096,-5.6914,1.93546
+accelerometer: 960610557,8.2784,-5.0207,1.93546
+irProximity:960616273,0.109804
+accelerometer: 960631400,7.53105,-5.13568,0.881497
+accelerometer: 960650871,6.55374,-4.94405,1.16894
+accelerometer: 960670860,6.82202,-5.19316,2.4337
+accelerometer: 960690879,7.22444,-5.38479,2.35705
+accelerometer: 960710685,7.72268,-5.03986,1.97379
+irProximity:960717194,0
+accelerometer: 960730857,7.81849,-5.05902,1.7055
+accelerometer: 960750846,7.83765,-4.92488,1.60969
+accelerometer: 960771354,8.02928,-5.07819,1.85881
+accelerometer: 960790855,8.24008,-4.77158,1.9163
+accelerometer: 960810691,8.08677,-9.81144,1.60969
+irProximity:960818055,0.0705882
+accelerometer: 960830863,8.06761,-4.79074,1.66718
+accelerometer: 960850700,8.45087,-4.90572,2.16542
+accelerometer: 960870780,8.7958,-5.26982,2.29956
+accelerometer: 960890678,9.21739,-4.90572,2.20374
+accelerometer: 960910667,9.40902,-5.03986,2.49119
+irProximity:960918915,0.0588235
+accelerometer: 960930869,9.40902,-4.82907,2.68282
+accelerometer: 960950858,9.02576,-4.86739,1.85881
+accelerometer: 960970847,8.75748,-4.40748,1.66718
+accelerometer: 960990684,9.06409,-4.17753,2.31872
+accelerometer: 961010673,9.35153,-3.48766,2.77863
+irProximity:961019776,0.0117647
+accelerometer: 961030692,9.25571,-3.54515,2.52951
+accelerometer: 961050834,9.23655,-3.35352,2.47202
+accelerometer: 961070884,9.92642,-2.97026,2.587
+accelerometer: 961090843,10.2522,-2.72114,2.97026
+accelerometer: 961110709,10.9421,-2.64449,3.02775
+irProximity:961120637,0.117647
+accelerometer: 961130882,11.2487,-2.98942,3.9859
+accelerometer: 961150871,10.8271,-2.93193,5.05902
+accelerometer: 961170860,10.6163,-2.01211,6.13215
+accelerometer: 961190879,9.61981,-2.14625,6.18964
+accelerometer: 961210685,8.41254,-1.59053,5.82554
+irProximity:961222016,0
+accelerometer: 961230857,7.51188,-0.843171,5.95968
+accelerometer: 961250877,5.34647,1.49471,9.63897
+accelerometer: 961270683,6.24713,-0.670704,7.32025
+accelerometer: 961290611,5.15484,-0.172467,7.6077
+orientation:961290611,5
+accelerometer: 961310691,4.25418,1.01564,7.6077
+accelerometer: 961330833,3.69845,1.76299,7.58854
+accelerometer: 961350883,3.85176,1.49471,7.37774
+accelerometer: 961370872,3.39185,1.5522,8.66166
+accelerometer: 961390830,2.72114,1.32224,9.0066
+accelerometer: 961410880,2.35705,1.41806,8.56585
+irProximity:961423371,0.0313726
+accelerometer: 961430869,1.82048,1.7055,8.02928
+accelerometer: 961450645,1.16894,2.31872,8.4892
+accelerometer: 961470786,1.09229,2.41453,8.94911
+accelerometer: 961490867,1.1881,2.14625,9.02576
+accelerometer: 961510856,0.90066,2.70198,8.69999
+irProximity:961526093,0
+accelerometer: 961530509,0.824008,3.02775,7.49272
+accelerometer: 961550498,0.766519,3.37268,6.86034
+accelerometer: 961570548,0.804845,3.75594,7.30109
+accelerometer: 961590537,0.689867,3.71762,7.58854
+accelerometer: 961610496,0.134141,3.75594,7.91431
+irProximity:961626588,0.0980392
+accelerometer: 961630546,0,4.08171,7.91431
+accelerometer: 961650504,0.268282,4.17753,7.95263
+accelerometer: 961670493,0.402422,4.27334,7.66519
+accelerometer: 961690482,0.440748,4.42665,7.62686
+accelerometer: 961710502,0.574889,4.82907,7.32025
+irProximity:961727051,0
+accelerometer: 961730491,0.479074,5.00153,7.51188
+accelerometer: 961750511,0.613215,4.77158,8.04845
+accelerometer: 961770530,0.459911,4.63744,8.18259
+accelerometer: 961790641,0,4.52246,7.49272
+accelerometer: 961810661,-0.019163,4.69493,6.89867
+irProximity:961827729,0.113725
+accelerometer: 961830680,0.172467,5.0207,7.22444
+accelerometer: 961850700,0.306608,5.09735,8.01012
+accelerometer: 961870628,0.153304,4.94405,8.39338
+accelerometer: 961890861,0.249119,4.79074,8.08677
+accelerometer: 961910850,0.479074,5.23149,7.91431
+irProximity:961928406,0.152941
+accelerometer: 961930869,0.364096,5.28898,8.10594
+accelerometer: 961950858,0.306608,5.15484,8.52752
+accelerometer: 961970878,-0.019163,4.84823,8.50836
+accelerometer: 961990684,-0.0958148,4.80991,7.9718
+accelerometer: 962010673,0.153304,5.44228,7.761
+irProximity:962029084,0.141176
+accelerometer: 962030662,0.249119,5.46145,7.79933
+accelerometer: 962050803,0.19163,5.5381,8.41254
+accelerometer: 962070884,-0.019163,5.61475,8.45087
+accelerometer: 962090690,-0.498237,5.40396,9.46651
+accelerometer: 962110648,-1.95462,5.90219,8.16343
+irProximity:962129792,0.0392157
+accelerometer: 962130668,-0.498237,5.49977,6.937
+accelerometer: 962150657,-0.0574889,5.44228,7.89514
+accelerometer: 962170860,0.268282,5.13568,9.14074
+accelerometer: 962190879,0.0383259,4.88656,8.66166
+accelerometer: 962210685,0.0958148,5.00153,8.96827
+irProximity:962230866,0.192157
+accelerometer: 962230552,0.134141,4.69493,8.75748
+accelerometer: 962250877,0.210793,4.94405,8.54668
+accelerometer: 962270866,0.019163,5.03986,9.06409
+accelerometer: 962290550,-0.306608,4.82907,8.68083
+accelerometer: 962310600,-0.249119,5.07819,8.91078
+irProximity:962331421,0.0627451
+accelerometer: 962330955,0.306608,5.13568,9.06409
+accelerometer: 962350700,0.210793,5.174,9.04492
+accelerometer: 962370689,0.0766519,4.92488,8.96827
+accelerometer: 962390678,-0.229956,4.92488,7.81849
+accelerometer: 962410697,-0.172467,5.59559,7.78017
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat
new file mode 100644
index 0000000000..81e76758a1
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat
@@ -0,0 +1,364 @@
+accelerometer: 968940727,-0.402422,0.594052,9.84977
+accelerometer: 968960838,-0.210793,0.555726,9.94558
+accelerometer: 968980674,-0.0766519,0.574889,9.71563
+orientation:961290611,5
+accelerometer: 969000572,0.0383259,0.785682,9.69646
+proximity:969000977,0
+irProximity:969003693,0
+accelerometer: 969020866,-0.134141,0.747356,9.75395
+accelerometer: 969040641,-0.172467,0.613215,9.69646
+accelerometer: 969060813,-0.229956,0.632378,9.50483
+accelerometer: 969080650,-0.287445,0.843171,9.61981
+accelerometer: 969100639,-0.019163,0.766519,9.6773
+irProximity:969104675,0.105882
+accelerometer: 969120841,-0.153304,0.651541,9.6773
+accelerometer: 969140830,-0.114978,0.785682,9.60065
+accelerometer: 969160880,-0.0574889,0.938986,9.8306
+accelerometer: 969180869,0.0574889,0.804845,10.0222
+accelerometer: 969200675,-0.0574889,0.70903,9.77311
+irProximity:969205353,0.0431373
+accelerometer: 969220664,-0.0958148,0.785682,9.79228
+accelerometer: 969240806,0.0958148,0.747356,9.90726
+accelerometer: 969260825,-0.0383259,0.728193,9.65814
+accelerometer: 969280845,-0.19163,0.804845,9.58148
+accelerometer: 969300651,-0.172467,0.824008,9.8306
+irProximity:969306244,0.0117647
+accelerometer: 969320884,-0.172467,0.804845,9.61981
+accelerometer: 969340843,-0.19163,0.804845,9.61981
+accelerometer: 969360832,-0.268282,0.70903,9.35153
+accelerometer: 969380851,-0.268282,0.958148,9.10241
+accelerometer: 969400535,-0.114978,1.01564,9.38986
+irProximity:969407135,0.0980392
+accelerometer: 969420829,-0.114978,0.958148,9.54316
+accelerometer: 969440879,-0.0766519,0.90066,9.58148
+accelerometer: 969460655,0.0383259,0.977311,9.46651
+accelerometer: 969480766,0.153304,1.24559,9.42818
+accelerometer: 969500663,-0.0383259,1.43722,9.1599
+irProximity:969507813,0.113725
+accelerometer: 969520774,-0.0383259,1.80132,9.02576
+accelerometer: 969540550,-0.268282,1.93546,8.39338
+accelerometer: 969560874,0.134141,2.83612,7.58854
+accelerometer: 969580650,1.26476,3.90925,7.6077
+accelerometer: 969600669,1.82048,4.57995,7.6077
+irProximity:969608673,0.164706
+accelerometer: 969620872,1.82048,5.36563,7.85682
+accelerometer: 969640647,2.52951,4.12004,8.20175
+accelerometer: 969660819,4.1392,3.90925,6.74537
+accelerometer: 969680839,4.61828,4.79074,6.53457
+accelerometer: 969700645,5.97885,4.36916,5.94052
+irProximity:969709534,0
+accelerometer: 969720847,6.76453,3.64096,5.94052
+accelerometer: 969740836,8.29757,3.54515,5.38479
+orientation:969740836,4
+accelerometer: 969760825,9.524,4.31167,3.85176
+accelerometer: 969780845,10.0797,4.34999,2.37621
+accelerometer: 969800651,5.94052,5.40396,-2.56784
+irProximity:969810425,0.113725
+accelerometer: 969820854,11.1528,2.4337,4.04339
+accelerometer: 969840843,12.111,6.34294,-4.90572
+accelerometer: 969860832,8.56585,3.18105,1.62885
+accelerometer: 969880576,4.80991,0.70903,3.21938
+accelerometer: 969900687,3.50682,-0.670704,5.82554
+irProximity:969911316,0.129412
+accelerometer: 969920646,2.37621,0,2.31872
+accelerometer: 969940849,0.479074,1.85881,0.728193
+orientation:969940849,1
+accelerometer: 969960716,0.766519,1.41806,0.364096
+accelerometer: 969980857,4.61828,0.881497,-1.20727
+accelerometer: 970000602,4.38832,1.32224,0.90066
+irProximity:970011994,0.152941
+accelerometer: 970020927,-0.574889,-0.268282,1.9163
+accelerometer: 970040855,0.421585,1.80132,-3.00859
+accelerometer: 970060661,-4.73325,4.63744,5.11651
+accelerometer: 970080802,3.73678,2.85528,14.5255
+accelerometer: 970100883,2.72114,1.36057,5.55726
+irProximity:970112732,0
+accelerometer: 970120872,2.10793,-1.82048,12.9158
+accelerometer: 970140861,-1.26476,-3.18105,12.4176
+accelerometer: 970160850,-0.594052,-0.0958148,3.04691
+accelerometer: 970180869,0.383259,-2.24207,17.8599
+accelerometer: 970200675,0.555726,-2.51035,16.5951
+orientation:970200675,5
+irProximity:970214111,0.160784
+accelerometer: 970220878,-0.114978,-1.07313,6.64955
+accelerometer: 970240836,0.268282,-0.364096,3.50682
+accelerometer: 970260825,0.32577,-0.958148,6.87951
+accelerometer: 970280845,0.402422,-1.13062,8.56585
+accelerometer: 970300590,0.632378,-1.45639,12.7242
+irProximity:970314850,0.156863
+accelerometer: 970320884,0.249119,-1.76299,8.60417
+accelerometer: 970340690,1.0348,-2.68282,12.5709
+accelerometer: 970360801,1.41806,-0.153304,10.4438
+accelerometer: 970380882,-0.344933,-0.249119,7.64602
+accelerometer: 970400871,-0.287445,0.306608,11.1145
+irProximity:970415558,0.0784314
+accelerometer: 970420860,-0.229956,-0.0766519,8.89162
+accelerometer: 970440818,-0.594052,0.0383259,9.33237
+accelerometer: 970460868,0.785682,0.19163,10.4247
+accelerometer: 970480674,-0.804845,-0.383259,8.02928
+accelerometer: 970500846,0.0958148,0.268282,10.5013
+irProximity:970516266,0
+accelerometer: 970520866,-0.0766519,0.019163,9.81144
+accelerometer: 970540550,-0.5174,-0.134141,9.1599
+accelerometer: 970560874,0.536563,0.114978,10.6546
+accelerometer: 970580680,-0.344933,-0.153304,9.38986
+accelerometer: 970600791,-0.0766519,0.19163,4.92488
+accelerometer: 970620811,0.114978,-0.0574889,9.90726
+accelerometer: 970640830,-0.459911,-0.019163,9.37069
+accelerometer: 970660880,-1.0348,-1.36057,9.524
+accelerometer: 970680839,0.402422,-3.96673,11.1912
+accelerometer: 970700858,-0.824008,-0.996474,9.56232
+accelerometer: 970720664,1.7055,0.996474,9.0066
+accelerometer: 970740806,0.70903,0,10.0989
+accelerometer: 970760642,1.5522,-1.07313,9.88809
+accelerometer: 970780814,5.80638,-1.1881,9.38986
+accelerometer: 970800865,6.84118,-0.287445,8.77664
+irProximity:970818329,0.027451
+accelerometer: 970820884,1.72467,0.536563,9.65814
+accelerometer: 970840873,-3.14273,-1.5522,10.4438
+accelerometer: 970860832,1.87797,-4.31167,7.12862
+accelerometer: 970880882,5.32731,-0.843171,11.5744
+accelerometer: 970900657,8.89162,-1.85881,10.5396
+irProximity:970919006,0.133333
+accelerometer: 970920860,5.34647,-0.728193,13.0691
+accelerometer: 970940879,2.97026,-1.45639,12.0535
+accelerometer: 970960868,2.62533,-2.08876,11.2295
+accelerometer: 970980827,2.20374,-0.421585,10.9421
+accelerometer: 971000877,1.11145,1.34141,11.5553
+irProximity:971019684,0.0117647
+accelerometer: 971020866,0.938986,2.35705,11.2295
+accelerometer: 971040855,-0.287445,1.01564,8.71915
+accelerometer: 971060874,-1.62885,0.862334,4.98237
+accelerometer: 971080863,-2.587,1.20727,2.98942
+accelerometer: 971100883,-1.85881,1.82048,2.56784
+irProximity:971120392,0
+accelerometer: 971120872,-0.996474,2.62533,8.25924
+accelerometer: 971140678,-2.98942,2.87445,10.0222
+accelerometer: 971160789,-3.35352,2.20374,7.6077
+accelerometer: 971180686,-2.26123,3.14273,5.09735
+accelerometer: 971200645,-2.12709,3.6218,5.32731
+irProximity:971221100,0.160784
+accelerometer: 971220878,-4.57995,4.34999,5.82554
+accelerometer: 971240867,-5.67224,4.82907,6.97532
+accelerometer: 971260856,-4.61828,3.02775,9.92642
+accelerometer: 971280875,-3.90925,0.229956,10.9995
+accelerometer: 971300926,-3.2577,1.85881,10.4438
+irProximity:971321655,0.133333
+accelerometer: 971320518,-2.72114,1.89713,8.29757
+accelerometer: 971340812,-2.08876,1.34141,7.83765
+accelerometer: 971360862,-2.18458,3.12356,9.19823
+accelerometer: 971380851,-1.09229,3.71762,10.348
+accelerometer: 971400871,-1.16894,3.41101,10.8271
+irProximity:971422485,0.0980392
+accelerometer: 971420890,-1.07313,2.37621,9.54316
+accelerometer: 971440879,-1.1881,2.08876,7.83765
+accelerometer: 971460838,-1.30308,2.16542,8.71915
+accelerometer: 971480857,-0.670704,3.06608,9.29404
+accelerometer: 971500877,-0.114978,3.14273,9.65814
+accelerometer: 971520591,-0.0766519,2.33788,9.96474
+irProximity:971522980,0.141176
+accelerometer: 971541251,-1.0348,1.51387,9.21739
+accelerometer: 971560508,-0.785682,1.11145,8.41254
+accelerometer: 971580467,1.78216,2.68282,8.58501
+accelerometer: 971600486,2.9511,4.17753,7.64602
+accelerometer: 971620506,3.69845,3.90925,6.76453
+irProximity:971623474,0.105882
+accelerometer: 971640495,3.73678,4.02422,5.86387
+accelerometer: 971660514,5.97885,4.57995,5.40396
+accelerometer: 971680503,8.71915,5.26982,6.09382
+accelerometer: 971700492,9.96474,6.41959,5.67224
+accelerometer: 971720512,10.233,6.11299,3.89008
+irProximity:971724609,0.00392157
+orientation:971720512,4
+accelerometer: 971740592,8.29757,4.36916,1.49471
+accelerometer: 971760612,6.80285,3.1044,-0.919823
+accelerometer: 971780570,6.7262,1.80132,-2.97026
+accelerometer: 971800681,7.51188,1.14978,-4.04339
+accelerometer: 971820701,6.45792,1.01564,-5.94052
+irProximity:971825317,0.227451
+accelerometer: 971840690,7.26277,0.747356,-9.3132
+accelerometer: 971860648,5.80638,0.613215,-9.21739
+orientation:971860648,6
+accelerometer: 971880729,4.15836,-0.210793,-9.37069
+accelerometer: 971900871,1.82048,-1.20727,-8.68083
+proximity:971911582,1
+accelerometer: 971920677,0.613215,-1.60969,-7.93347
+irProximity:971926178,0.478431
+accelerometer: 971940879,-3.87092,1.09229,15.637
+accelerometer: 971960838,-1.3989,-5.00153,-8.02928
+accelerometer: 971980644,-1.22643,-0.862334,-9.58148
+accelerometer: 972000633,-0.938986,-0.747356,-9.48567
+accelerometer: 972020652,-1.53304,0.229956,-7.0903
+accelerometer: 972040824,-0.364096,-1.07313,-8.94911
+accelerometer: 972060844,0.5174,-0.785682,-6.66871
+accelerometer: 972080833,-0.574889,0.689867,-4.04339
+accelerometer: 972100852,0.19163,0.536563,-1.64802
+accelerometer: 972120689,-0.19163,-0.019163,0.0766519
+orientation:972120689,3
+irProximity:972126739,0.443137
+accelerometer: 972140891,-0.574889,0.268282,-16.6718
+accelerometer: 972160667,-0.287445,-0.019163,-10.6929
+accelerometer: 972180808,-0.153304,-0.114978,-9.79228
+orientation:972180808,6
+accelerometer: 972200675,-0.114978,-0.0766519,-9.63897
+accelerometer: 972220878,-0.0574889,-0.019163,-9.524
+accelerometer: 972240653,-0.0958148,-0.0766519,-9.42818
+proximity:972251090,0
+accelerometer: 972260825,-0.0766519,4.88656,-9.40902
+accelerometer: 972280845,-0.114978,4.88656,-9.48567
+accelerometer: 972300651,-0.114978,-0.019163,-9.44734
+accelerometer: 972320640,-0.0958148,0,-9.44734
+irProximity:972327606,0.270588
+accelerometer: 972340873,-0.0958148,-0.0574889,-9.44734
+accelerometer: 972360832,-0.114978,-0.019163,-9.524
+accelerometer: 972380882,-0.0958148,-0.0383259,-9.48567
+accelerometer: 972400657,-0.134141,-0.0383259,-9.44734
+accelerometer: 972420615,-0.0766519,-0.019163,-9.524
+irProximity:972428467,0.286275
+accelerometer: 972440635,-0.134141,-0.019163,-9.50483
+accelerometer: 972460807,-0.0383259,0,-9.524
+accelerometer: 972480827,-0.114978,-0.0574889,-9.50483
+accelerometer: 972500846,-0.0383259,-0.0383259,-9.48567
+accelerometer: 972520683,-0.0766519,-0.019163,-9.46651
+irProximity:972529358,0.266667
+accelerometer: 972540702,-0.0574889,0.019163,-9.50483
+accelerometer: 972560844,-0.0766519,-0.019163,-9.50483
+accelerometer: 972580650,-0.114978,-0.0766519,-9.48567
+accelerometer: 972600822,-0.0958148,-0.0574889,-9.48567
+accelerometer: 972620689,-0.0958148,-0.0766519,-9.46651
+irProximity:972630249,0.27451
+accelerometer: 972640830,-0.0766519,-0.0383259,-9.46651
+accelerometer: 972660880,-0.0958148,-0.0574889,-9.50483
+accelerometer: 972680839,-0.114978,-0.0383259,-9.46651
+accelerometer: 972700828,-0.0958148,-0.019163,-9.46651
+accelerometer: 972720695,-0.0958148,-0.0383259,-9.50483
+irProximity:972731110,0.278431
+accelerometer: 972740867,-0.114978,-0.0574889,-9.48567
+accelerometer: 972760825,-0.0383259,0.019163,-9.44734
+accelerometer: 972780845,-0.134141,0,-9.40902
+accelerometer: 972800803,-0.134141,-0.019163,-9.44734
+accelerometer: 972820670,-0.0958148,0,-9.44734
+irProximity:972831604,0.298039
+accelerometer: 972840843,-0.0958148,-0.0383259,-9.524
+accelerometer: 972860648,-0.0958148,-0.0383259,-9.48567
+accelerometer: 972880851,-0.0574889,-0.0383259,-9.48567
+accelerometer: 972900840,-0.0383259,4.88656,-9.46651
+accelerometer: 972920677,-0.0958148,-0.019163,-9.42818
+irProximity:972932281,0.290196
+accelerometer: 972940849,-0.134141,0,-9.50483
+accelerometer: 972960838,-0.0958148,0,-9.44734
+accelerometer: 972980827,-0.0958148,-0.0383259,-9.46651
+accelerometer: 973000663,-0.0574889,-0.0958148,-9.42818
+accelerometer: 973020774,-0.0574889,-0.019163,-9.48567
+irProximity:973032959,0.282353
+accelerometer: 973040855,-0.0383259,-0.019163,-9.50483
+accelerometer: 973060844,-0.0766519,0,-9.48567
+accelerometer: 973080833,-1.32224,1.49471,-9.35153
+accelerometer: 973100852,-0.344933,-0.574889,-9.60065
+accelerometer: 973120841,0.172467,-0.114978,-9.27488
+irProximity:973133667,0.278431
+accelerometer: 973140861,1.26476,-0.210793,-9.48567
+accelerometer: 973160850,0.977311,-0.5174,-9.75395
+accelerometer: 973180839,0.498237,-0.287445,-9.44734
+accelerometer: 973200675,-0.5174,-0.977311,-9.8306
+accelerometer: 973220847,-0.19163,0.114978,-9.10241
+irProximity:973234375,0.298039
+accelerometer: 973240653,-0.574889,-0.0383259,-8.94911
+accelerometer: 973260795,-0.459911,0.536563,-9.48567
+accelerometer: 973280662,-1.05396,-1.37973,-9.40902
+accelerometer: 973300620,-1.36057,-1.74383,-9.71563
+accelerometer: 973320854,0.479074,0.632378,-10.2522
+irProximity:973335083,0.356863
+accelerometer: 973340873,1.51387,-0.728193,-12.0535
+accelerometer: 973360832,2.62533,-0.919823,-10.463
+accelerometer: 973380851,3.43017,-1.22643,-12.7434
+accelerometer: 973400810,2.52951,-1.3989,-5.6914
+accelerometer: 973420646,3.20022,-0.689867,-11.057
+accelerometer: 973440757,4.44581,-2.85528,-4.82907
+accelerometer: 973460899,6.07466,-1.87797,-5.97885
+accelerometer: 973480827,7.41607,-3.37268,-4.71409
+orientation:973480827,4
+accelerometer: 973500846,10.233,-3.4685,-3.48766
+accelerometer: 973520835,13.7973,-2.70198,-15.4454
+irProximity:973535736,0.278431
+accelerometer: 973541160,16.2502,-6.15131,0.114978
+accelerometer: 973560844,13.0691,-6.66871,-1.5522
+accelerometer: 973580650,8.52752,-4.52246,-3.06608
+accelerometer: 973600822,2.31872,-3.12356,-1.57136
+accelerometer: 973620841,1.16894,-0.498237,1.60969
+irProximity:973636444,0.14902
+accelerometer: 973640830,4.04339,0.670704,4.31167
+accelerometer: 973660667,6.49625,0.0958148,7.32025
+accelerometer: 973680778,7.07114,1.51387,7.41607
+accelerometer: 973700645,5.40396,1.74383,8.41254
+orientation:973700645,5
+accelerometer: 973720817,1.74383,0.651541,5.61475
+irProximity:973737152,0.137255
+accelerometer: 973740867,3.33436,-2.01211,5.38479
+accelerometer: 973760856,1.97379,-2.28039,6.64955
+accelerometer: 973780906,0.479074,-1.45639,2.51035
+accelerometer: 973800834,-3.23854,0.134141,2.10793
+accelerometer: 973820854,-0.421585,4.33083,13.2224
+irProximity:973837829,0
+accelerometer: 973840659,1.32224,2.35705,10.6738
+accelerometer: 973860771,1.20727,2.98942,10.7504
+accelerometer: 973880912,2.12709,1.49471,9.79228
+accelerometer: 973900871,1.74383,1.3989,11.1528
+accelerometer: 973920829,1.24559,0.938986,11.8619
+irProximity:973938507,0.141176
+accelerometer: 973940849,1.28392,0.785682,11.6894
+accelerometer: 973960838,1.37973,1.16894,11.0762
+accelerometer: 973980827,1.59053,0.479074,10.4247
+accelerometer: 974000602,2.33788,0.383259,10.1755
+accelerometer: 974020896,2.70198,1.1881,10.9995
+irProximity:974039184,0.152941
+accelerometer: 974040824,2.01211,1.60969,10.5971
+accelerometer: 974060844,1.1881,1.1881,9.86893
+accelerometer: 974080650,0.90066,0.613215,9.48567
+accelerometer: 974100822,0.70903,0.172467,9.77311
+accelerometer: 974120658,1.13062,0.287445,10.2139
+irProximity:974139831,0.0235294
+accelerometer: 974140830,1.34141,0.785682,10.118
+accelerometer: 974160850,1.24559,0.862334,9.86893
+accelerometer: 974180839,0.881497,0.479074,9.65814
+accelerometer: 974200675,0.0574889,0.421585,9.19823
+accelerometer: 974220847,0.153304,1.09229,9.23655
+irProximity:974240539,0.12549
+accelerometer: 974240836,0.536563,0.843171,9.1599
+accelerometer: 974260642,0.613215,0.479074,9.524
+accelerometer: 974280814,0.153304,0.459911,9.46651
+accelerometer: 974300681,0.287445,0.574889,9.19823
+accelerometer: 974320884,0.0383259,0.364096,9.19823
+irProximity:974341156,0
+accelerometer: 974340873,-0.0958148,0.862334,9.8306
+accelerometer: 974360832,0,0.919823,9.63897
+accelerometer: 974380882,-0.210793,0.804845,9.50483
+accelerometer: 974400840,-0.459911,0.689867,9.19823
+accelerometer: 974420829,-0.689867,0.421585,9.54316
+irProximity:974441620,0.105882
+accelerometer: 974440513,-0.555726,0.0574889,9.90726
+accelerometer: 974460838,-0.498237,0.536563,10.0606
+accelerometer: 974480827,-0.249119,0.498237,9.48567
+accelerometer: 974500663,-0.402422,1.1881,9.61981
+accelerometer: 974520774,-0.440748,0.824008,9.50483
+irProximity:974542267,0.101961
+accelerometer: 974540794,-0.536563,0.421585,9.60065
+accelerometer: 974560752,-0.574889,0.479074,9.94558
+accelerometer: 974580650,-0.0383259,0.459911,10.233
+accelerometer: 974600791,-0.90066,1.30308,8.22091
+accelerometer: 974620506,-0.555726,0.555726,9.12157
+accelerometer: 974640556,-0.90066,0.210793,9.3132
+irProximity:974642792,0
+accelerometer: 974660819,-1.05396,0.19163,9.6773
+accelerometer: 974680686,-0.306608,0.0383259,10.4821
+accelerometer: 974700858,0.0766519,0.364096,10.4247
+accelerometer: 974720878,-0.019163,0.440748,10.8079
+accelerometer: 974740623,0,0.0766519,10.348
+irProximity:974743530,0.160784
+accelerometer: 974760856,-0.114978,0.70903,10.4438
+accelerometer: 974780845,-0.268282,0.881497,10.0222
+accelerometer: 974800865,-0.210793,1.0348,9.96474
+accelerometer: 974820579,-0.881497,0.594052,9.35153
+accelerometer: 974840690,-0.306608,0.383259,10.5205
+irProximity:974843994,0
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat
new file mode 100644
index 0000000000..19daacd21b
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat
@@ -0,0 +1,85 @@
+irProximity:860835426,0.0823529
+proximity:860892310,0
+irProximity:860936225,0.0431373
+orientation:0,5
+accelerometer: 1336048300935,0.632378,1.45639,9.79228
+irProximity:861036720,0.105882
+accelerometer: 1336048301035,-0.862334,1.1881,9.46651
+irProximity:861137397,0.0784314
+accelerometer: 1336048301135,-1.5522,0.421585,9.86893
+irProximity:861238319,0.172549
+accelerometer: 1336048301235,-0.996474,0.574889,9.69646
+irProximity:861338844,0.137255
+accelerometer: 1336048301335,-0.632378,0.364096,9.71563
+irProximity:861439765,0.168627
+accelerometer: 1336048301435,1.1881,0.766519,7.99096
+irProximity:861540626,0.0196078
+accelerometer: 1336048301535,9.50483,2.2229,5.49977
+irProximity:861641486,0.121569
+accelerometer: 1336048301635,9.02576,1.97379,0.919823
+irProximity:861742377,0.0784314
+accelerometer: 1336048301735,7.89514,1.51387,-5.88303
+irProximity:861843238,0.109804
+accelerometer: 1336048301835,9.21739,1.22643,-4.12004
+orientation:0,4
+irProximity:861944190,0.156863
+accelerometer: 1336048301935,9.61981,1.7055,-0.862334
+irProximity:862045112,0.152941
+accelerometer: 1336048302035,10.2905,1.89713,4.73325
+irProximity:862145942,0
+accelerometer: 1336048302135,1.47555,1.47555,8.20175
+irProximity:862246802,0.0745098
+accelerometer: 1336048302235,-1.97379,0.70903,9.61981
+irProximity:862347449,0.129412
+accelerometer: 1336048302336,-1.74383,0.824008,9.69646
+orientation:0,5
+irProximity:862448341,0.00392157
+accelerometer: 1336048302435,-1.97379,0.70903,9.69646
+irProximity:862549018,0.0509804
+accelerometer: 1336048302535,-1.99295,0.70903,9.44734
+irProximity:862649879,0.0588235
+accelerometer: 1336048302635,-1.78216,0.555726,9.58148
+irProximity:862750800,0.0156863
+accelerometer: 1336048302735,-1.41806,0.574889,9.58148
+irProximity:862851691,0.152941
+accelerometer: 1336048302835,-1.24559,0.594052,9.73479
+irProximity:862952430,0.145098
+accelerometer: 1336048302935,-1.47555,0.613215,9.61981
+irProximity:863053321,0.0901961
+accelerometer: 1336048303035,-1.34141,0.574889,9.524
+irProximity:863154212,0
+accelerometer: 1336048303135,-1.41806,0.440748,9.65814
+irProximity:863255042,0.0980392
+accelerometer: 1336048303235,-1.28392,0.574889,9.73479
+irProximity:863355933,0.0666667
+accelerometer: 1336048303335,-1.41806,0.479074,9.65814
+irProximity:863456763,0.105882
+accelerometer: 1336048303435,-1.28392,0.421585,9.86893
+irProximity:863557654,0
+accelerometer: 1336048303535,-1.01564,0.555726,9.54316
+irProximity:863658271,0.188235
+accelerometer: 1336048303635,-1.07313,0.5174,9.524
+irProximity:863759193,0.113725
+accelerometer: 1336048303735,-0.996474,0.670704,9.73479
+accelerometer: 1336048303835,-0.996474,0.536563,9.63897
+irProximity:863960731,0.0784314
+accelerometer: 1336048303935,-0.919823,0.574889,9.69646
+irProximity:864061591,0
+accelerometer: 1336048304035,-0.90066,0.536563,9.73479
+accelerometer: 1336048304135,-0.977311,0.402422,9.8306
+irProximity:864263221,0.0941176
+accelerometer: 1336048304235,-1.07313,0.344933,9.73479
+irProximity:864364142,0.117647
+accelerometer: 1336048304335,-1.07313,0.344933,9.69646
+irProximity:864465034,0.0627451
+accelerometer: 1336048304435,-0.919823,0.344933,9.69646
+irProximity:864565894,0.129412
+accelerometer: 1336048304535,-0.785682,0.555726,9.54316
+irProximity:864666419,0.113725
+accelerometer: 1336048304635,-1.11145,0.670704,9.42818
+irProximity:864767280,0.117647
+accelerometer: 1336048304735,-0.938986,0.210793,9.96474
+irProximity:864868171,0.121569
+accelerometer: 1336048304835,-0.977311,0.402422,9.86893
+irProximity:864969092,0.0784314
+
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat
new file mode 100644
index 0000000000..d894ab7d46
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat
@@ -0,0 +1,188 @@
+accelerometer: 979450523,0.268282,1.80132,9.75395
+accelerometer: 979470847,-0.306608,2.51035,9.46651
+accelerometer: 979490836,-0.134141,2.14625,9.65814
+orientation:973700645,5
+accelerometer: 979510551,-0.613215,2.14625,9.38986
+proximity:979515075,0
+irProximity:979517150,0.133333
+accelerometer: 979530692,-0.0958148,2.64449,9.56232
+accelerometer: 979550864,-0.019163,2.41453,8.98743
+accelerometer: 979570854,0,3.12356,9.06409
+accelerometer: 979590873,0,3.31519,9.524
+accelerometer: 979610679,-0.019163,3.04691,9.14074
+irProximity:979618164,0.0980392
+accelerometer: 979630851,-0.32577,3.1044,8.92994
+accelerometer: 979651084,-0.440748,3.2577,8.87245
+accelerometer: 979670799,-0.268282,2.81696,8.92994
+accelerometer: 979690849,-0.498237,3.39185,8.94911
+accelerometer: 979710685,-0.229956,3.6218,8.52752
+irProximity:979719024,0.0156863
+accelerometer: 979730857,-0.0383259,3.43017,8.85329
+accelerometer: 979750663,-0.210793,3.39185,9.1599
+accelerometer: 979770805,-0.32577,3.16189,8.94911
+accelerometer: 979790641,-0.613215,2.39537,8.50836
+accelerometer: 979810661,-0.804845,3.16189,9.40902
+irProximity:979819915,0.0823529
+accelerometer: 979830833,-0.574889,3.2577,9.1599
+accelerometer: 979850852,-0.594052,2.97026,8.91078
+accelerometer: 979870872,-0.594052,3.16189,8.7958
+accelerometer: 979890830,-0.632378,3.23854,8.87245
+accelerometer: 979910697,-0.536563,2.98942,9.50483
+irProximity:979920776,0.129412
+accelerometer: 979930656,-0.249119,3.02775,9.40902
+accelerometer: 979950797,-0.172467,3.14273,9.27488
+accelerometer: 979970847,-0.19163,3.16189,9.14074
+accelerometer: 979990684,0.019163,3.14273,9.44734
+accelerometer: 980010673,-0.0766519,3.20022,9.50483
+irProximity:980021362,0.121569
+accelerometer: 980030875,-0.306608,3.66013,9.38986
+accelerometer: 980050834,0,3.16189,9.14074
+accelerometer: 980070884,-0.19163,3.29603,9.19823
+accelerometer: 980090659,-0.249119,3.29603,9.37069
+accelerometer: 980110618,-0.440748,3.21938,9.42818
+irProximity:980122070,0.109804
+accelerometer: 980130882,-0.613215,3.08524,9.3132
+accelerometer: 980150871,-0.440748,3.29603,9.04492
+accelerometer: 980170646,-0.172467,3.37268,9.27488
+accelerometer: 980190635,-0.134141,3.31519,9.69646
+accelerometer: 980210655,-0.32577,3.44933,9.10241
+irProximity:980222717,0.133333
+accelerometer: 980230857,-0.306608,3.44933,9.21739
+accelerometer: 980250846,-0.268282,3.39185,9.06409
+accelerometer: 980270835,-0.383259,4.00506,9.524
+accelerometer: 980290824,-0.364096,4.15836,10.0606
+accelerometer: 980310691,-0.287445,4.56079,12.0918
+irProximity:980323394,0.054902
+accelerometer: 980330863,0.0958148,4.25418,14.3722
+accelerometer: 980350669,-0.210793,3.90925,17.6874
+accelerometer: 980370811,-1.01564,3.29603,19.3163
+accelerometer: 980390830,-2.16542,2.56784,20.4661
+accelerometer: 980410850,-2.03127,2.68282,19.6804
+irProximity:980424072,0.137255
+accelerometer: 980430839,-1.07313,3.04691,15.1196
+accelerometer: 980450828,0.210793,1.89713,8.62334
+accelerometer: 980470878,0.919823,2.49119,3.83259
+accelerometer: 980490836,-0.919823,2.75947,-2.05044
+accelerometer: 980510825,0.0574889,1.3989,-5.76805
+irProximity:980525115,0.0313726
+accelerometer: 980531638,-0.747356,0.229956,-9.79228
+accelerometer: 980550834,-0.344933,-1.34141,-15.4645
+accelerometer: 980570854,-0.229956,-4.1392,-25.6592
+accelerometer: 980590690,0.689867,-7.83765,-35.2982
+accelerometer: 980610801,1.85881,-11.2678,-34.8958
+irProximity:980625854,0
+accelerometer: 980630668,2.18458,-13.759,-21.2517
+accelerometer: 980650779,2.29956,-15.1579,-3.85176
+accelerometer: 980670829,5.40396,-20.1978,39.2458
+accelerometer: 980690849,-8.45087,-31.0823,39.2458
+accelerometer: 980710838,-22.3632,-30.6416,39.2458
+irProximity:980726531,0.137255
+accelerometer: 980730827,-10.8462,-9.19823,39.2458
+accelerometer: 980750846,-1.22643,3.66013,8.47003
+accelerometer: 980770652,4.1392,3.7751,-4.86739
+accelerometer: 980790763,6.63039,6.97532,-14.8896
+accelerometer: 980810844,5.28898,5.25065,-15.7328
+orientation:980810844,6
+irProximity:980827209,0
+accelerometer: 980830863,3.18105,4.71409,-7.4544
+accelerometer: 980850852,2.10793,4.21585,3.69845
+accelerometer: 980870841,-1.57136,0.938986,14.5255
+accelerometer: 980890830,-4.00506,-0.0574889,19.2588
+accelerometer: 980910850,-4.61828,0.0766519,16.5185
+accelerometer: 980930808,-3.79427,2.24207,11.5744
+accelerometer: 980950858,-2.41453,3.04691,8.02928
+accelerometer: 980970847,-0.958148,3.50682,6.53457
+orientation:980970847,5
+accelerometer: 980990714,-0.0383259,3.37268,6.87951
+accelerometer: 981010642,0.172467,3.02775,8.16343
+accelerometer: 981030814,-0.32577,2.60616,9.04492
+accelerometer: 981050651,-0.843171,2.29956,10.233
+accelerometer: 981070823,-0.919823,2.60616,10.6929
+accelerometer: 981090843,-0.881497,3.00859,10.0414
+accelerometer: 981110832,-0.651541,3.41101,9.27488
+accelerometer: 981130821,-0.402422,3.83259,8.89162
+accelerometer: 981150840,-0.594052,3.58348,9.0066
+accelerometer: 981170829,-0.134141,3.58348,9.33237
+accelerometer: 981190666,-0.0958148,3.69845,8.85329
+accelerometer: 981210960,-0.229956,3.75594,9.0066
+irProximity:981229766,0.176471
+accelerometer: 981230857,-0.114978,3.6218,8.96827
+accelerometer: 981250846,-0.153304,3.43017,8.91078
+accelerometer: 981270835,-0.019163,3.75594,8.96827
+accelerometer: 981290824,-0.134141,3.4685,8.87245
+accelerometer: 981310691,-0.632378,3.41101,8.94911
+irProximity:981330444,0.0666667
+accelerometer: 981330863,-0.689867,3.23854,9.12157
+accelerometer: 981350852,-0.689867,3.18105,8.96827
+accelerometer: 981370841,-0.766519,3.21938,8.83413
+accelerometer: 981390861,-0.632378,3.20022,8.89162
+accelerometer: 981410850,-0.210793,3.16189,9.1599
+irProximity:981431121,0.0156863
+accelerometer: 981430656,-0.402422,3.27687,9.06409
+accelerometer: 981450797,-0.364096,3.1044,8.87245
+accelerometer: 981470664,-0.383259,3.16189,8.89162
+accelerometer: 981490775,-0.613215,2.89361,8.87245
+accelerometer: 981510825,-0.459911,3.33436,9.54316
+irProximity:981532775,0.0941176
+accelerometer: 981531364,0.210793,3.21938,9.6773
+accelerometer: 981550498,-0.210793,3.02775,9.06409
+accelerometer: 981570518,-0.249119,3.18105,9.29404
+accelerometer: 981590537,-0.287445,3.14273,9.14074
+accelerometer: 981610465,-0.210793,3.06608,9.29404
+accelerometer: 981630485,-0.440748,3.23854,9.44734
+irProximity:981633270,0
+accelerometer: 981650504,-0.019163,3.04691,9.65814
+accelerometer: 981670493,-0.134141,3.04691,9.29404
+accelerometer: 981690513,-0.479074,3.20022,9.06409
+accelerometer: 981710502,-0.689867,3.21938,8.77664
+accelerometer: 981730491,-0.555726,3.21938,8.98743
+irProximity:981733764,0.113725
+accelerometer: 981750511,-0.5174,2.93193,9.40902
+accelerometer: 981770561,-0.594052,2.81696,9.21739
+accelerometer: 981790702,-0.440748,2.98942,9.1599
+accelerometer: 981810691,-0.594052,3.20022,9.04492
+accelerometer: 981830680,-0.728193,2.97026,9.02576
+irProximity:981834472,0
+accelerometer: 981850669,-0.632378,2.83612,9.10241
+accelerometer: 981870719,-0.383259,3.08524,9.19823
+accelerometer: 981890678,-0.229956,3.00859,9.23655
+accelerometer: 981910819,-0.536563,2.87445,9.42818
+accelerometer: 981930686,-0.5174,3.02775,9.33237
+irProximity:981935363,0.027451
+accelerometer: 981950858,-0.632378,2.89361,9.42818
+accelerometer: 981970878,-0.536563,2.97026,9.40902
+accelerometer: 981990684,-0.651541,2.81696,9.33237
+accelerometer: 982010673,-0.555726,2.97026,9.1599
+accelerometer: 982030692,-0.651541,2.91277,9.46651
+irProximity:982036041,0.141176
+accelerometer: 982050803,-0.728193,2.79779,9.3132
+accelerometer: 982070701,-0.632378,2.91277,9.3132
+accelerometer: 982090659,-0.632378,2.87445,9.25571
+accelerometer: 982110832,-0.574889,2.77863,9.35153
+accelerometer: 982130698,-0.632378,2.79779,9.38986
+irProximity:982136932,0.129412
+accelerometer: 982150871,-0.364096,2.81696,9.524
+accelerometer: 982170829,-0.459911,2.87445,9.14074
+accelerometer: 982190696,-0.440748,2.91277,9.21739
+accelerometer: 982210868,-0.5174,2.79779,9.3132
+accelerometer: 982230674,-0.574889,2.77863,9.40902
+irProximity:982237792,0.109804
+accelerometer: 982250877,-0.383259,2.89361,9.54316
+accelerometer: 982270683,-0.555726,2.81696,9.46651
+accelerometer: 982291435,-1.0348,3.04691,8.69999
+accelerometer: 982310630,-0.670704,2.70198,9.02576
+accelerometer: 982330833,-0.938986,2.70198,8.98743
+irProximity:982338470,0.105882
+accelerometer: 982351005,-0.766519,2.56784,9.04492
+accelerometer: 982371055,-0.594052,2.79779,9.37069
+accelerometer: 982391044,-0.670704,2.56784,9.29404
+accelerometer: 982410728,-0.613215,2.45286,9.10241
+accelerometer: 982430747,-0.498237,2.45286,9.94558
+irProximity:982439269,0.117647
+accelerometer: 982450736,-0.728193,2.28039,9.8306
+accelerometer: 982470939,-0.613215,2.51035,10.0031
+accelerometer: 982490958,-0.670704,2.81696,9.98391
+accelerometer: 982510978,-0.498237,2.98942,9.65814
+accelerometer: 982530723,-0.843171,2.9511,8.85329
+irProximity:982540160,0.156863
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat
new file mode 100644
index 0000000000..fc52f6d8ca
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat
@@ -0,0 +1,296 @@
+orientation:11415310938,5
+accelerometer: 11416690881,-0.383259,0.747356,10.3097
+accelerometer: 11416711145,-0.766519,0.728193,9.65814
+accelerometer: 11416731744,-0.402422,0.364096,9.98391
+irProximity:11416747364,0.294118
+proximity:11416749012,0
+accelerometer: 11416750574,-0.498237,-0.0766519,9.88809
+accelerometer: 11416771845,-0.32577,0.153304,9.60065
+accelerometer: 11416790918,0.0383259,-0.843171,8.91078
+accelerometer: 11416810938,-0.229956,-0.287445,8.85329
+accelerometer: 11416830713,-0.862334,-0.0766519,8.85329
+accelerometer: 11416850885,-1.11145,0.0383259,9.40902
+accelerometer: 11416872675,-0.90066,-0.536563,9.46651
+accelerometer: 11416890649,-0.689867,0.32577,9.77311
+accelerometer: 11416910700,-0.747356,-0.19163,9.69646
+accelerometer: 11416930689,-0.498237,-0.249119,9.33237
+accelerometer: 11416951227,-0.172467,-0.402422,9.50483
+accelerometer: 11416970636,-0.0958148,-0.249119,9.73479
+accelerometer: 11416991480,0,-0.153304,9.75395
+accelerometer: 11417010736,-0.114978,-0.32577,9.81144
+accelerometer: 11417031397,-0.344933,-0.19163,9.63897
+accelerometer: 11417051325,-0.019163,-0.172467,9.21739
+accelerometer: 11417070856,-0.114978,-0.268282,9.50483
+accelerometer: 11417090967,-0.383259,0.019163,9.33237
+accelerometer: 11417110925,-0.172467,-0.210793,9.60065
+accelerometer: 11417130731,-0.383259,-0.114978,9.37069
+accelerometer: 11417150873,-0.5174,-0.421585,9.88809
+accelerometer: 11417171014,-0.747356,-0.172467,9.65814
+accelerometer: 11417191034,-0.402422,0.0958148,9.75395
+accelerometer: 11417210931,-0.229956,-0.0383259,9.90726
+accelerometer: 11417230920,-0.306608,0.0958148,9.65814
+accelerometer: 11417250787,-0.153304,-0.019163,9.50483
+accelerometer: 11417270929,-0.306608,-0.249119,9.84977
+accelerometer: 11417290888,-0.344933,-0.287445,9.6773
+accelerometer: 11417310938,-0.0574889,-0.344933,9.6773
+accelerometer: 11417330927,-0.402422,-0.134141,9.50483
+accelerometer: 11417350794,-0.651541,-0.19163,9.46651
+accelerometer: 11417370935,-0.364096,-0.306608,9.50483
+accelerometer: 11417390924,-0.344933,-0.0958148,9.37069
+accelerometer: 11417410974,-0.19163,-0.134141,9.6773
+accelerometer: 11417430933,-0.172467,-0.249119,9.40902
+accelerometer: 11417450769,-0.440748,-0.19163,9.48567
+irProximity:11417455616,0.290196
+accelerometer: 11417470819,-0.498237,-0.210793,9.50483
+accelerometer: 11417490930,-0.421585,-0.172467,9.63897
+accelerometer: 11417510950,-0.287445,0.019163,9.75395
+accelerometer: 11417530969,-0.229956,-0.268282,9.48567
+accelerometer: 11417550775,-0.459911,-0.019163,9.42818
+accelerometer: 11417570886,-0.383259,-0.134141,9.56232
+accelerometer: 11417590997,-0.402422,-0.114978,9.69646
+accelerometer: 11417610986,-0.498237,4.82907,9.61981
+accelerometer: 11417630945,-0.32577,-0.114978,9.61981
+accelerometer: 11417650812,-0.383259,-0.134141,9.63897
+irProximity:11417657459,0.294118
+accelerometer: 11417670953,-0.210793,-0.0383259,10.0797
+accelerometer: 11417690942,-0.344933,-0.344933,9.63897
+accelerometer: 11417710962,-0.32577,-0.134141,9.63897
+accelerometer: 11417730951,-0.364096,-0.306608,9.54316
+accelerometer: 11417750818,-0.632378,0.0766519,9.65814
+irProximity:11417758381,0.290196
+accelerometer: 11417773218,-0.344933,4.75242,9.44734
+accelerometer: 11417790918,-0.440748,0.249119,9.42818
+accelerometer: 11417811029,-0.5174,4.77158,9.524
+accelerometer: 11417830713,-0.32577,-0.0383259,9.60065
+accelerometer: 11417850702,-0.421585,4.84823,9.75395
+accelerometer: 11417870722,-0.287445,-0.019163,9.56232
+accelerometer: 11417890802,-0.287445,-0.172467,9.75395
+accelerometer: 11417910791,-0.421585,-0.114978,10.0989
+accelerometer: 11417930933,-0.594052,0.153304,10.0031
+accelerometer: 11417950800,-0.977311,0.019163,10.4438
+irProximity:11417960224,0.294118
+accelerometer: 11417970972,-0.881497,-0.344933,9.94558
+accelerometer: 11417990808,-1.93546,0.19163,9.38986
+accelerometer: 11418010980,-1.51387,-0.249119,7.66519
+accelerometer: 11418031000,-1.78216,-1.20727,8.16343
+accelerometer: 11418050775,-2.2229,-1.43722,8.91078
+irProximity:11418061146,0.290196
+accelerometer: 11418070947,-1.89713,-1.36057,8.01012
+accelerometer: 11418090967,-1.57136,-0.498237,8.68083
+accelerometer: 11418110895,-2.28039,-0.574889,7.91431
+accelerometer: 11418130945,-1.51387,-1.24559,6.99448
+accelerometer: 11418150964,1.49471,-0.862334,8.41254
+irProximity:11418161915,0.294118
+accelerometer: 11418171198,2.9511,0.977311,10.8462
+accelerometer: 11418191004,2.05044,2.64449,11.3253
+accelerometer: 11418210962,1.53304,1.36057,10.8462
+accelerometer: 11418230951,0.364096,0.249119,9.1599
+accelerometer: 11418250971,-0.268282,-0.421585,8.4892
+irProximity:11418262653,0.290196
+accelerometer: 11418270929,-0.689867,4.84823,8.75748
+accelerometer: 11418290949,-0.613215,0.479074,10.4438
+accelerometer: 11418310938,-1.57136,0.306608,14.3722
+accelerometer: 11418330927,-1.57136,0.364096,10.8462
+accelerometer: 11418350946,-1.07313,0.0574889,9.524
+irProximity:11418363453,0.294118
+accelerometer: 11418370905,-1.01564,-0.19163,9.65814
+accelerometer: 11418390985,-0.919823,0.0958148,9.79228
+accelerometer: 11418410944,-1.05396,-0.0574889,9.35153
+accelerometer: 11418430963,-1.13062,0.383259,9.1599
+accelerometer: 11418450952,-1.64802,0.402422,9.46651
+accelerometer: 11418470789,-1.60969,0.19163,9.92642
+accelerometer: 11418490930,-1.26476,0.268282,9.54316
+accelerometer: 11418510950,-1.16894,0.0383259,9.44734
+accelerometer: 11418531000,-1.11145,0.0958148,9.65814
+accelerometer: 11418550928,-1.37973,0.268282,9.81144
+irProximity:11418565083,0.345098
+accelerometer: 11418570947,-1.05396,0.210793,9.73479
+accelerometer: 11418590906,-0.804845,0.0958148,9.75395
+accelerometer: 11418610956,-0.919823,-0.0958148,9.71563
+proximity:11418618768,1
+accelerometer: 11418631006,-0.594052,-0.172467,9.38986
+accelerometer: 11418650964,-0.728193,-0.0383259,9.33237
+irProximity:11418665882,0.466667
+accelerometer: 11418670923,-0.574889,0.0383259,9.23655
+accelerometer: 11418690942,-1.01564,-4.84823,9.25571
+accelerometer: 11418711054,-0.70903,0.249119,8.45087
+accelerometer: 11418730920,-0.632378,0.5174,8.66166
+accelerometer: 11418750910,-0.632378,0.306608,9.10241
+accelerometer: 11418772272,-0.824008,0.229956,10.0989
+accelerometer: 11418791010,-0.919823,0.134141,10.2714
+accelerometer: 11418810571,-0.804845,0.0766519,9.84977
+accelerometer: 11418830621,-0.90066,0.172467,9.56232
+accelerometer: 11418850671,-1.0348,0.306608,9.79228
+irProximity:11418866627,0.639216
+accelerometer: 11418870813,-0.90066,-0.19163,8.89162
+accelerometer: 11418890802,-0.766519,0.306608,9.29404
+accelerometer: 11418910761,-0.651541,0.114978,9.54316
+accelerometer: 11418930963,-0.958148,0.0766519,9.79228
+accelerometer: 11418950983,-0.613215,-0.019163,9.54316
+accelerometer: 11418970972,-0.70903,0.0574889,9.44734
+accelerometer: 11418990808,-0.958148,0.32577,9.38986
+accelerometer: 11419010828,-0.574889,0,9.46651
+accelerometer: 11419030908,-1.01564,0.32577,9.61981
+accelerometer: 11419050928,-0.862334,0.0574889,9.58148
+irProximity:11419067371,0.713726
+accelerometer: 11419070917,-0.766519,0.249119,9.40902
+accelerometer: 11419090875,-0.938986,0.210793,9.50483
+accelerometer: 11419110895,-0.804845,0.172467,9.524
+accelerometer: 11419130945,-0.766519,0.172467,9.75395
+accelerometer: 11419150903,-0.90066,0.19163,9.58148
+accelerometer: 11419170923,-1.07313,0.268282,9.65814
+accelerometer: 11419190942,-0.843171,0.344933,9.54316
+accelerometer: 11419210931,-1.05396,0.19163,9.40902
+accelerometer: 11419230951,-1.13062,0.268282,9.63897
+accelerometer: 11419250940,-1.09229,0.402422,9.60065
+irProximity:11419268085,0.709804
+accelerometer: 11419270899,-0.938986,0.383259,9.58148
+accelerometer: 11419290888,-0.843171,0.134141,9.40902
+accelerometer: 11419310999,-0.90066,0.32577,9.44734
+accelerometer: 11419330896,-0.977311,0.421585,9.524
+accelerometer: 11419350916,-1.01564,0.383259,9.46651
+accelerometer: 11419370966,-1.01564,0.402422,9.19823
+accelerometer: 11419390955,-1.05396,0.134141,9.54316
+accelerometer: 11419410944,-0.728193,0.229956,9.54316
+accelerometer: 11419430963,-0.843171,0.459911,9.524
+accelerometer: 11419451044,-1.01564,0.344933,9.77311
+irProximity:11419468830,0.705882
+accelerometer: 11419470789,-1.01564,0.498237,9.48567
+accelerometer: 11419490930,-0.938986,0.306608,9.3132
+accelerometer: 11419510919,-0.938986,0.306608,9.44734
+accelerometer: 11419530939,-0.843171,0.402422,9.46651
+accelerometer: 11419550928,-0.766519,0.402422,9.61981
+accelerometer: 11419570978,-1.01564,0.421585,9.58148
+accelerometer: 11419590845,-0.996474,0.5174,9.3132
+accelerometer: 11419610773,-0.90066,0.402422,9.44734
+accelerometer: 11419630945,-0.938986,0.421585,9.44734
+accelerometer: 11419650934,-1.01564,0.440748,9.6773
+accelerometer: 11419671014,-1.16894,0.459911,9.73479
+accelerometer: 11419690912,-1.05396,0.402422,9.44734
+accelerometer: 11419710901,-1.0348,0.459911,9.37069
+accelerometer: 11419730890,-0.862334,0.268282,9.46651
+accelerometer: 11419750910,-1.01564,0.536563,9.38986
+accelerometer: 11419773645,-1.05396,0.440748,9.60065
+accelerometer: 11419791010,-1.05396,0.670704,9.44734
+accelerometer: 11419810571,-0.919823,0.5174,9.60065
+accelerometer: 11419830591,-0.804845,0.344933,9.48567
+accelerometer: 11419850610,-1.0348,0.153304,9.40902
+accelerometer: 11419870874,-0.70903,0.344933,9.33237
+accelerometer: 11419890772,-0.958148,0.479074,9.90726
+accelerometer: 11419910761,-0.919823,0.287445,9.56232
+accelerometer: 11419930902,-1.13062,0.153304,9.38986
+accelerometer: 11419950952,-0.977311,0.153304,9.54316
+accelerometer: 11419970972,-1.07313,0.574889,9.46651
+accelerometer: 11419990808,-0.862334,0.5174,9.56232
+accelerometer: 11420010889,-1.09229,0.440748,9.46651
+accelerometer: 11420030969,-1.0348,0.383259,9.42818
+accelerometer: 11420050958,-1.16894,0.459911,9.6773
+irProximity:11420070759,0.709804
+accelerometer: 11420071008,-1.47555,0.498237,9.65814
+accelerometer: 11420090906,-1.20727,0.804845,9.46651
+accelerometer: 11420110895,-0.766519,0.536563,9.3132
+accelerometer: 11420130914,-0.90066,0.70903,9.3132
+accelerometer: 11420150903,-0.728193,0.134141,9.54316
+accelerometer: 11420170984,-1.01564,0.306608,9.44734
+accelerometer: 11420190912,-0.689867,0.210793,9.58148
+accelerometer: 11420210901,-0.785682,0.383259,9.65814
+accelerometer: 11420230798,-0.747356,0.153304,9.44734
+proximity:11420241113,0
+accelerometer: 11420250940,-0.632378,0.19163,9.77311
+irProximity:11420271656,0.329412
+accelerometer: 11420271417,-0.862334,0.268282,9.60065
+accelerometer: 11420290949,-0.728193,0.210793,9.54316
+accelerometer: 11420310999,-0.824008,0.287445,9.60065
+accelerometer: 11420330957,-0.919823,0.344933,9.46651
+accelerometer: 11420350946,-0.958148,0.555726,9.50483
+accelerometer: 11420370538,-0.728193,0.249119,9.50483
+irProximity:11420372730,0.290196
+accelerometer: 11420390924,-0.938986,0.19163,9.38986
+accelerometer: 11420411005,-0.70903,0.210793,9.21739
+accelerometer: 11420430933,-1.05396,0.479074,14.6788
+accelerometer: 11420450922,-0.881497,0.383259,9.73479
+accelerometer: 11420470728,-0.651541,4.86739,9.58148
+accelerometer: 11420490930,-0.440748,0.0958148,9.48567
+accelerometer: 11420510919,-0.498237,0.0383259,9.73479
+accelerometer: 11420530969,-0.479074,0.0574889,9.58148
+accelerometer: 11420550958,-0.555726,0.0383259,9.37069
+accelerometer: 11420570795,-0.440748,4.84823,9.71563
+irProximity:11420574360,0.294118
+accelerometer: 11420591119,-0.306608,0,9.63897
+accelerometer: 11420610986,-0.32577,-0.0383259,9.524
+accelerometer: 11420630975,-0.459911,0.019163,9.44734
+accelerometer: 11420650964,-0.479074,0.5174,9.60065
+accelerometer: 11420670770,-0.440748,0.383259,4.94405
+accelerometer: 11420690912,-0.479074,0.555726,9.65814
+accelerometer: 11420710931,-0.5174,0.306608,9.38986
+accelerometer: 11420730920,-0.651541,0.249119,9.37069
+accelerometer: 11420750940,-0.574889,0.249119,9.48567
+accelerometer: 11420773401,-0.632378,0.19163,9.33237
+accelerometer: 11420790582,-0.421585,0.249119,9.33237
+accelerometer: 11420810571,-0.344933,-0.0766519,9.48567
+accelerometer: 11420830652,-0.249119,-0.0766519,9.6773
+accelerometer: 11420850794,-0.134141,-0.0383259,9.71563
+accelerometer: 11420870783,-0.344933,0.134141,9.77311
+accelerometer: 11420890711,-0.249119,-0.0383259,9.3132
+accelerometer: 11420910852,-0.459911,-4.80991,9.524
+accelerometer: 11420930902,-0.421585,0.287445,9.61981
+accelerometer: 11420950922,-0.364096,0.421585,9.48567
+accelerometer: 11420970819,-0.402422,0.364096,9.38986
+irProximity:11420977863,0.290196
+accelerometer: 11420990808,-0.613215,0.364096,9.50483
+accelerometer: 11421010828,-0.574889,0.402422,9.61981
+accelerometer: 11421030969,-0.536563,0.0766519,9.46651
+accelerometer: 11421050958,-0.651541,0.0958148,9.58148
+accelerometer: 11421070795,-0.651541,0.249119,9.84977
+irProximity:11421078815,0.294118
+accelerometer: 11421090936,-0.440748,0.0958148,9.69646
+accelerometer: 11421110956,-0.364096,0.0574889,9.75395
+accelerometer: 11421130945,-0.402422,-0.0574889,9.46651
+accelerometer: 11421150934,-0.402422,0.134141,9.33237
+accelerometer: 11421170770,-0.421585,0.153304,9.75395
+accelerometer: 11421190912,-0.229956,-0.114978,9.38986
+accelerometer: 11421210962,-0.32577,-0.019163,9.44734
+accelerometer: 11421230951,-0.383259,0.0574889,9.69646
+accelerometer: 11421250971,-0.402422,0.019163,9.54316
+accelerometer: 11421270807,-0.479074,0.249119,9.6773
+accelerometer: 11421290857,-0.728193,0.249119,9.65814
+accelerometer: 11421310816,-0.421585,0.32577,9.56232
+accelerometer: 11421330896,-0.459911,0.19163,9.524
+accelerometer: 11421350885,-0.32577,0.210793,9.77311
+accelerometer: 11421370813,-0.440748,0.0766519,9.61981
+irProximity:11421381428,0.290196
+accelerometer: 11421390894,-0.5174,0.229956,9.61981
+accelerometer: 11421410913,-0.613215,0.229956,9.44734
+accelerometer: 11421430902,-0.747356,0.210793,9.48567
+accelerometer: 11421450922,-0.5174,0.210793,9.61981
+accelerometer: 11421470789,-0.555726,0.172467,9.524
+accelerometer: 11421490930,-0.383259,0.0766519,9.58148
+accelerometer: 11421510980,-0.364096,0.153304,9.65814
+accelerometer: 11421530969,-0.555726,0.32577,9.42818
+accelerometer: 11421550958,-0.383259,0.210793,9.61981
+accelerometer: 11421570917,-0.555726,0.210793,9.54316
+accelerometer: 11421591119,-0.574889,0.19163,9.42818
+accelerometer: 11421610895,-0.32577,0.268282,9.79228
+accelerometer: 11421630914,-0.5174,0.153304,9.48567
+accelerometer: 11421650903,-0.613215,0.153304,9.56232
+accelerometer: 11421670740,-0.536563,0.153304,9.44734
+accelerometer: 11421690912,-0.459911,0.268282,9.50483
+accelerometer: 11421710931,-0.459911,0.19163,9.54316
+accelerometer: 11421730951,-0.651541,0.287445,9.54316
+accelerometer: 11421751001,-0.574889,0.306608,9.54316
+irProximity:11421784443,0.294118
+accelerometer: 11421790613,-0.613215,0.134141,9.50483
+accelerometer: 11421810724,-0.383259,0.0958148,9.58148
+accelerometer: 11421830713,-0.555726,0.249119,9.46651
+accelerometer: 11421850794,-0.594052,0.32577,9.54316
+accelerometer: 11421870844,-0.364096,0.287445,9.69646
+accelerometer: 11421890711,-0.459911,0.287445,9.40902
+accelerometer: 11421910822,-0.958148,0.804845,6.70704
+accelerometer: 11421930933,-0.5174,0.306608,9.35153
+accelerometer: 11421950952,-1.07313,0.594052,9.98391
+accelerometer: 11421970911,-0.344933,0.210793,10.4821
+accelerometer: 11421990808,-0.594052,0.249119,10.4438
+accelerometer: 11422010767,-0.440748,0.479074,10.5588
+accelerometer: 11422030969,-0.977311,0.287445,9.86893
+accelerometer: 11422050684,-0.5174,0.344933,9.33237
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat
new file mode 100644
index 0000000000..a5ac6739ad
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat
@@ -0,0 +1,161 @@
+orientation:11415310938,5
+accelerometer: 11422167413,-0.498237,-0.019163,9.60065
+accelerometer: 11422180811,-0.421585,0,9.90726
+irProximity:11422190265,0.294118
+accelerometer: 11422200830,-0.440748,-0.0383259,9.88809
+accelerometer: 11422220545,-0.249119,0,9.71563
+proximity:11422224537,0
+accelerometer: 11422240930,-0.5174,0.134141,9.6773
+accelerometer: 11422260950,-0.536563,0.19163,9.54316
+accelerometer: 11422280756,-0.555726,0.459911,9.25571
+accelerometer: 11422300928,-0.689867,0.440748,9.29404
+accelerometer: 11422320947,-0.689867,0.5174,9.27488
+accelerometer: 11422340967,-0.555726,0.479074,9.46651
+accelerometer: 11422360956,-0.651541,0.440748,9.63897
+accelerometer: 11422380945,-0.632378,0.229956,9.65814
+accelerometer: 11422400873,-0.421585,0.019163,9.58148
+accelerometer: 11422420892,-0.536563,0.0958148,9.46651
+accelerometer: 11422440912,-0.383259,0.114978,9.65814
+accelerometer: 11422460901,-0.364096,0.0958148,9.63897
+accelerometer: 11422480982,-0.498237,0.134141,9.60065
+accelerometer: 11422500910,-0.383259,0.0958148,9.54316
+accelerometer: 11422520960,-0.383259,0.344933,9.42818
+accelerometer: 11422540949,-0.555726,0.32577,9.54316
+accelerometer: 11422560968,-0.421585,0.498237,9.58148
+accelerometer: 11422580988,-0.594052,0.32577,9.54316
+accelerometer: 11422600916,-0.555726,0.268282,9.56232
+accelerometer: 11422620966,-0.632378,0.249119,9.75395
+accelerometer: 11422640985,-0.440748,0.134141,9.61981
+accelerometer: 11422660974,-0.383259,0.249119,9.56232
+accelerometer: 11422680963,-0.459911,0.249119,9.48567
+accelerometer: 11422700891,-0.32577,0.229956,9.40902
+accelerometer: 11422720972,-0.19163,0,9.48567
+accelerometer: 11422740961,-0.383259,0.402422,9.69646
+accelerometer: 11422760950,-0.306608,0.0766519,9.69646
+accelerometer: 11422780756,-0.498237,0.268282,9.63897
+irProximity:11422795337,0.290196
+accelerometer: 11422800562,-0.555726,0.210793,9.50483
+accelerometer: 11422820856,-0.440748,0.0574889,9.58148
+accelerometer: 11422840784,-0.555726,0.0958148,9.69646
+accelerometer: 11422860834,-0.268282,0.153304,9.54316
+accelerometer: 11422880823,-0.651541,0.402422,9.46651
+irProximity:11422896137,0.294118
+accelerometer: 11422900812,-0.613215,0.306608,9.40902
+accelerometer: 11422920801,-0.32577,0.153304,9.44734
+accelerometer: 11422940973,-0.364096,0.459911,9.19823
+accelerometer: 11422960962,-0.421585,0.172467,8.96827
+accelerometer: 11422980982,-0.594052,0.536563,9.3132
+accelerometer: 11423000696,-1.72467,0.459911,10.2714
+accelerometer: 11423020960,-0.958148,0.632378,9.25571
+accelerometer: 11423040949,-1.07313,0.977311,10.1755
+accelerometer: 11423060999,0.019163,1.07313,10.4438
+accelerometer: 11423080957,-0.153304,0.996474,10.233
+irProximity:11423097736,0.290196
+accelerometer: 11423100946,-0.0574889,0.747356,10.0989
+accelerometer: 11423120935,4.88656,0.613215,9.56232
+accelerometer: 11423140924,0.287445,0.766519,9.46651
+accelerometer: 11423160974,0.5174,0.843171,9.44734
+accelerometer: 11423180963,-0.287445,0.459911,9.56232
+irProximity:11423198536,0.294118
+accelerometer: 11423200952,-0.153304,0.536563,9.14074
+accelerometer: 11423220941,-0.172467,0.498237,9.10241
+accelerometer: 11423240930,0.0958148,0.651541,9.35153
+accelerometer: 11423260950,-0.0383259,0.824008,9.48567
+accelerometer: 11423280969,-0.114978,0.364096,9.44734
+accelerometer: 11423300867,-0.19163,0.555726,9.60065
+accelerometer: 11423320917,3.83259,-0.862334,15.2729
+accelerometer: 11423341028,0.5174,2.98942,7.64602
+accelerometer: 11423360895,3.33436,1.53304,8.47003
+accelerometer: 11423380975,2.20374,0.594052,8.41254
+accelerometer: 11423400873,-1.16894,-0.938986,10.7504
+accelerometer: 11423420892,-0.0958148,0,9.61981
+accelerometer: 11423440912,0.249119,-0.114978,8.96827
+accelerometer: 11423460901,0.344933,0.383259,8.89162
+accelerometer: 11423480982,-0.019163,0.689867,9.10241
+accelerometer: 11423501062,-39.2458,8.52752,17.2275
+accelerometer: 11423520960,-0.555726,2.85528,7.35858
+accelerometer: 11423540949,1.37973,2.587,10.3097
+accelerometer: 11423560968,2.64449,0.881497,9.50483
+accelerometer: 11423580927,-1.30308,-0.594052,10.3288
+tap:11423595112,1
+accelerometer: 11423601038,-1.43722,-0.421585,10.3672
+accelerometer: 11423621027,-0.440748,0.153304,9.08325
+accelerometer: 11423640955,-0.249119,0.440748,8.66166
+accelerometer: 11423660944,-0.268282,0.958148,9.25571
+accelerometer: 11423680963,-0.249119,0.689867,9.58148
+accelerometer: 11423700586,-0.306608,0.747356,9.84977
+accelerometer: 11423720972,-0.555726,0.594052,9.90726
+accelerometer: 11423740961,-0.689867,0.747356,9.77311
+accelerometer: 11423760950,-0.440748,0.613215,9.81144
+accelerometer: 11423780573,-0.344933,0.459911,9.60065
+accelerometer: 11423800623,-0.459911,0.421585,9.3132
+accelerometer: 11423820795,-0.268282,0.249119,9.40902
+accelerometer: 11423840784,-0.613215,0.364096,9.1599
+accelerometer: 11423860773,-0.498237,0.479074,9.42818
+accelerometer: 11423880853,-0.306608,0.402422,9.75395
+accelerometer: 11423900812,0.019163,0.19163,9.69646
+accelerometer: 11423920770,-0.172467,0.249119,9.54316
+accelerometer: 11423940790,-0.19163,0.364096,9.58148
+accelerometer: 11423960962,-0.287445,0.0958148,9.37069
+accelerometer: 11423980951,-0.229956,0.479074,9.71563
+accelerometer: 11424000818,-0.383259,0.5174,9.60065
+accelerometer: 11424020899,-0.364096,0.364096,9.46651
+accelerometer: 11424040888,-0.287445,0.32577,9.58148
+accelerometer: 11424060968,-0.421585,0.32577,9.37069
+accelerometer: 11424080988,-0.344933,0.287445,9.60065
+accelerometer: 11424100763,-0.32577,0.134141,9.48567
+accelerometer: 11424120935,-0.459911,0.0958148,9.71563
+accelerometer: 11424140924,-0.210793,0.0766519,9.86893
+accelerometer: 11424161035,-0.383259,0.153304,9.81144
+accelerometer: 11424181085,-0.268282,0.172467,9.88809
+accelerometer: 11424200800,-0.364096,0.0574889,9.56232
+irProximity:11424205555,0.290196
+accelerometer: 11424221033,-0.32577,0.0383259,9.50483
+accelerometer: 11424240961,-0.0958148,0.229956,9.69646
+accelerometer: 11424260950,-0.344933,-0.287445,9.14074
+accelerometer: 11424280939,-0.574889,0.019163,9.54316
+accelerometer: 11424300775,-0.287445,-0.153304,9.60065
+irProximity:11424306476,0.294118
+accelerometer: 11424320947,-0.306608,-4.69493,9.56232
+accelerometer: 11424340967,-0.172467,0.0958148,9.58148
+accelerometer: 11424360925,-0.574889,0.172467,9.79228
+accelerometer: 11424380945,-0.383259,0.210793,9.81144
+accelerometer: 11424400812,-0.479074,0.0766519,9.71563
+accelerometer: 11424420892,-0.268282,-0.0766519,9.48567
+accelerometer: 11424440942,-0.344933,0.019163,9.35153
+accelerometer: 11424460931,-0.498237,0.172467,9.48567
+accelerometer: 11424480982,-0.479074,0.19163,9.44734
+accelerometer: 11424500818,-0.210793,-0.0383259,9.48567
+accelerometer: 11424520929,-0.459911,0.0383259,9.56232
+accelerometer: 11424540918,-0.32577,-4.86739,9.56232
+accelerometer: 11424560938,-0.574889,-0.0574889,9.48567
+accelerometer: 11424580927,-0.402422,-0.0383259,9.54316
+accelerometer: 11424600946,-0.498237,0.0383259,9.71563
+accelerometer: 11424620722,-0.613215,0.229956,9.46651
+accelerometer: 11424640863,-0.440748,-4.75242,9.6773
+accelerometer: 11424660822,-0.440748,0.019163,9.48567
+accelerometer: 11424680963,-0.536563,-0.0574889,9.46651
+accelerometer: 11424700769,-0.32577,-0.0383259,9.40902
+irProximity:11424709949,0.290196
+accelerometer: 11424720972,-0.287445,-0.019163,9.71563
+accelerometer: 11424740961,-0.498237,-4.77158,9.63897
+accelerometer: 11424760950,-0.440748,0.0766519,9.77311
+accelerometer: 11424780664,-0.344933,0.114978,9.6773
+accelerometer: 11424800623,-0.229956,0.134141,9.48567
+irProximity:11424810932,0.294118
+accelerometer: 11424820795,-0.402422,-0.0574889,9.54316
+accelerometer: 11424840784,-0.479074,0.287445,9.61981
+accelerometer: 11424860773,-0.5174,0.249119,9.58148
+accelerometer: 11424880823,-0.536563,0.0958148,9.54316
+accelerometer: 11424900842,-0.287445,0.268282,9.6773
+irProximity:11424911670,0.290196
+accelerometer: 11424920801,-0.536563,0.153304,9.56232
+accelerometer: 11424941004,-0.5174,0.287445,6.36211
+accelerometer: 11424960962,-0.172467,-0.019163,9.54316
+accelerometer: 11424981073,-1.01564,0.479074,10.5396
+accelerometer: 11425000757,-0.574889,0.229956,10.8846
+irProximity:11425012409,0.294118
+accelerometer: 11425020654,-0.249119,0,10.5396
+accelerometer: 11425040643,-0.0574889,-0.249119,9.63897
+accelerometer: 11425060571,-0.766519,0.0766519,9.27488
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat
new file mode 100644
index 0000000000..20e1658016
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat
@@ -0,0 +1,248 @@
+orientation:11415310938,5
+accelerometer: 11425173670,-0.421585,0.0958148,9.63897
+accelerometer: 11425190942,-0.268282,0.287445,9.69646
+accelerometer: 11425210840,-0.383259,0.153304,9.81144
+proximity:11425220050,0
+irProximity:11425226551,0.294118
+accelerometer: 11425230982,-0.479074,-0.019163,9.65814
+accelerometer: 11425250971,-0.536563,0.229956,9.58148
+accelerometer: 11425270929,-0.747356,0.32577,9.44734
+accelerometer: 11425290949,-0.459911,0.402422,9.37069
+accelerometer: 11425310968,-0.5174,0.134141,9.44734
+accelerometer: 11425330866,-0.287445,0.153304,9.48567
+accelerometer: 11425350916,-0.344933,0.172467,9.46651
+accelerometer: 11425370966,-0.344933,0.0574889,9.58148
+accelerometer: 11425390955,-0.402422,0.19163,9.69646
+accelerometer: 11425410974,-0.32577,4.88656,9.73479
+accelerometer: 11425430872,-0.210793,0.114978,9.63897
+accelerometer: 11425450891,-0.5174,0.172467,9.58148
+accelerometer: 11425470758,-0.459911,0.287445,9.37069
+accelerometer: 11425490900,-0.498237,0.383259,9.44734
+accelerometer: 11425510980,-0.421585,0.229956,9.61981
+accelerometer: 11425530908,-0.306608,0.249119,9.60065
+accelerometer: 11425550958,-0.498237,0.364096,9.75395
+accelerometer: 11425570917,-0.421585,0.229956,9.8306
+accelerometer: 11425590814,-0.574889,0.210793,9.61981
+accelerometer: 11425610925,-0.268282,0.383259,9.58148
+accelerometer: 11425630945,-0.383259,0.229956,9.50483
+accelerometer: 11425650995,-0.344933,0.306608,9.54316
+accelerometer: 11425670953,-0.229956,0.210793,9.50483
+accelerometer: 11425691034,-0.153304,0.19163,9.58148
+accelerometer: 11425710962,-0.172467,0.268282,9.40902
+irProximity:11425730731,0.290196
+accelerometer: 11425730646,-0.19163,0.229956,9.60065
+accelerometer: 11425750971,-0.229956,0.019163,9.63897
+accelerometer: 11425774286,-0.536563,0.19163,9.42818
+accelerometer: 11425790704,-0.440748,0.19163,9.524
+accelerometer: 11425810754,-0.459911,0.19163,9.63897
+irProximity:11425831775,0.294118
+accelerometer: 11425830896,-0.613215,0.0574889,9.48567
+accelerometer: 11425850824,-0.824008,0.153304,9.65814
+accelerometer: 11425870813,-0.747356,0.19163,9.69646
+accelerometer: 11425890802,-0.996474,0.421585,9.56232
+accelerometer: 11425910822,-0.785682,0.249119,9.60065
+accelerometer: 11425930628,-1.11145,0.32577,9.44734
+accelerometer: 11425950952,-0.728193,0.0958148,9.38986
+accelerometer: 11425970941,-0.881497,0.114978,9.524
+accelerometer: 11425990778,-0.862334,0.114978,9.71563
+accelerometer: 11426010950,-0.555726,0.153304,9.56232
+accelerometer: 11426030725,-0.670704,-0.0574889,9.81144
+irProximity:11426033039,0.313726
+accelerometer: 11426050958,-0.70903,4.88656,9.63897
+accelerometer: 11426070917,-0.804845,0.364096,9.6773
+accelerometer: 11426090967,-0.651541,0.268282,9.42818
+accelerometer: 11426110956,-0.766519,-0.0958148,9.50483
+accelerometer: 11426130823,-0.766519,0.172467,9.50483
+irProximity:11426133960,0.376471
+accelerometer: 11426150964,-0.862334,0.210793,9.524
+accelerometer: 11426170892,-0.613215,0.287445,9.3132
+accelerometer: 11426190942,-0.555726,0,9.6773
+accelerometer: 11426210931,-0.479074,0.153304,9.40902
+accelerometer: 11426230798,-0.804845,0.19163,9.44734
+irProximity:11426234851,0.384314
+accelerometer: 11426250971,-0.766519,0.134141,9.75395
+accelerometer: 11426270929,-0.689867,0.153304,9.63897
+accelerometer: 11426290918,-0.804845,0.0574889,9.65814
+accelerometer: 11426310938,-0.689867,0.172467,9.524
+accelerometer: 11426330774,-0.613215,0.364096,9.524
+irProximity:11426335773,0.4
+accelerometer: 11426350946,-0.90066,0.287445,9.48567
+accelerometer: 11426370966,-0.90066,0.134141,9.42818
+accelerometer: 11426390985,-0.728193,0.344933,9.44734
+accelerometer: 11426410944,-0.689867,0,9.54316
+accelerometer: 11426430780,-0.498237,0.0958148,9.48567
+irProximity:11426436664,0.415686
+accelerometer: 11426450891,-0.364096,0.172467,9.37069
+accelerometer: 11426470789,-0.421585,0.0766519,9.56232
+accelerometer: 11426490900,-0.440748,0.0383259,9.40902
+accelerometer: 11426510950,-0.689867,0,9.46651
+accelerometer: 11426530786,-0.594052,4.88656,9.54316
+accelerometer: 11426550897,-0.555726,0.287445,9.69646
+accelerometer: 11426570917,-0.670704,0.32577,9.63897
+accelerometer: 11426590997,-0.651541,0.383259,9.50483
+accelerometer: 11426610925,-0.670704,0.249119,9.42818
+accelerometer: 11426630823,-0.632378,0.153304,9.50483
+irProximity:11426638446,0.423529
+accelerometer: 11426650903,-0.594052,0.249119,9.40902
+accelerometer: 11426670801,-0.613215,0.19163,9.6773
+accelerometer: 11426690912,-0.536563,-0.019163,9.48567
+accelerometer: 11426710931,-0.421585,0.19163,9.48567
+accelerometer: 11426730798,-0.479074,0.0766519,9.56232
+accelerometer: 11426750940,-0.555726,0.0766519,9.63897
+accelerometer: 11426773431,-0.594052,0.172467,9.61981
+accelerometer: 11426790735,-0.651541,0.210793,9.56232
+accelerometer: 11426810816,-0.613215,0.249119,9.56232
+accelerometer: 11426830774,-0.785682,0.210793,9.35153
+accelerometer: 11426850763,-0.613215,0.32577,9.44734
+accelerometer: 11426870813,-0.747356,0.0383259,9.58148
+accelerometer: 11426890772,-0.574889,0.172467,9.61981
+accelerometer: 11426910761,-0.670704,0.229956,9.6773
+accelerometer: 11426930780,-0.651541,0.249119,9.48567
+accelerometer: 11426950922,-0.5174,0.134141,9.50483
+accelerometer: 11426970941,-0.613215,0.019163,9.40902
+accelerometer: 11426990808,-0.536563,0.172467,9.69646
+accelerometer: 11427010828,-0.5174,0.0958148,9.63897
+accelerometer: 11427030908,-0.498237,0.172467,9.46651
+irProximity:11427041889,0.427451
+accelerometer: 11427050989,-0.632378,0.249119,9.61981
+accelerometer: 11427070947,-0.728193,0.172467,9.38986
+accelerometer: 11427090967,-0.555726,0.114978,9.50483
+accelerometer: 11427110956,-0.498237,0.134141,9.54316
+accelerometer: 11427130975,-0.364096,0.153304,9.61981
+accelerometer: 11427150903,-0.689867,0.32577,9.65814
+accelerometer: 11427170923,-0.536563,0.153304,9.38986
+accelerometer: 11427191004,-0.613215,0.32577,9.44734
+accelerometer: 11427210931,-0.498237,0.210793,9.48567
+accelerometer: 11427230951,-0.613215,0.172467,9.33237
+irProximity:11427243396,0.431373
+accelerometer: 11427250940,-0.613215,0.19163,9.71563
+accelerometer: 11427270929,-0.574889,0.19163,9.50483
+accelerometer: 11427290918,-0.574889,0.306608,9.56232
+accelerometer: 11427310968,-0.747356,0.364096,9.60065
+accelerometer: 11427330957,-0.555726,0.0383259,9.524
+accelerometer: 11427350977,-0.594052,0.134141,9.54316
+accelerometer: 11427370935,-0.498237,0.287445,9.63897
+accelerometer: 11427390924,-0.766519,0.0383259,9.54316
+accelerometer: 11427410944,-0.689867,0.344933,9.48567
+accelerometer: 11427430933,-0.402422,0.172467,9.60065
+irProximity:11427444904,0.439216
+accelerometer: 11427450922,-0.574889,0.0958148,9.524
+accelerometer: 11427470789,-0.632378,0.249119,9.46651
+accelerometer: 11427490961,-0.632378,0.268282,9.44734
+accelerometer: 11427510919,-0.613215,0.287445,9.46651
+accelerometer: 11427530969,-0.555726,0.364096,9.6773
+accelerometer: 11427550928,-0.613215,0.210793,9.58148
+accelerometer: 11427570947,-0.5174,0.249119,9.56232
+accelerometer: 11427590784,-0.670704,0.249119,9.63897
+accelerometer: 11427610956,-0.555726,0.32577,9.42818
+accelerometer: 11427631006,-0.747356,0.153304,9.54316
+irProximity:11427646533,0.298039
+accelerometer: 11427651514,-0.498237,0.0383259,9.54316
+accelerometer: 11427670740,-0.613215,0.172467,9.524
+accelerometer: 11427690973,-0.689867,0.210793,9.54316
+accelerometer: 11427710931,-0.613215,0.249119,9.48567
+accelerometer: 11427730920,-0.632378,0.134141,9.44734
+irProximity:11427747272,0.294118
+accelerometer: 11427750940,-0.459911,0.172467,9.35153
+accelerometer: 11427773248,-0.5174,0.287445,9.58148
+accelerometer: 11427790765,-0.402422,0.268282,9.40902
+accelerometer: 11427810846,-0.402422,0.114978,9.58148
+accelerometer: 11427830805,-0.210793,0.019163,9.54316
+accelerometer: 11427850794,-0.287445,0.019163,9.44734
+accelerometer: 11427870813,-0.498237,0,9.46651
+accelerometer: 11427890772,-0.555726,0.153304,9.44734
+accelerometer: 11427910791,-0.70903,0.210793,9.42818
+accelerometer: 11427930902,-0.594052,0.210793,9.38986
+accelerometer: 11427950891,-0.344933,0.32577,9.65814
+accelerometer: 11427970941,-0.632378,0.421585,9.42818
+accelerometer: 11427990778,-0.536563,0.306608,9.524
+accelerometer: 11428010797,-0.555726,0.344933,9.63897
+accelerometer: 11428030939,-0.479074,0.268282,9.71563
+irProximity:11428049518,0.290196
+accelerometer: 11428051019,-0.5174,0.134141,9.524
+accelerometer: 11428070947,-0.70903,0.0766519,9.46651
+accelerometer: 11428090997,-0.594052,0.19163,9.42818
+accelerometer: 11428110925,-0.498237,0.19163,9.38986
+accelerometer: 11428130975,-0.402422,0.383259,9.61981
+irProximity:11428150287,0.294118
+accelerometer: 11428150964,-0.153304,4.80991,9.61981
+accelerometer: 11428171076,-0.268282,-0.134141,9.77311
+accelerometer: 11428190942,-0.479074,0.0766519,9.63897
+accelerometer: 11428210962,-0.249119,0.249119,9.77311
+accelerometer: 11428230920,-0.306608,-0.019163,9.48567
+accelerometer: 11428251093,-0.689867,0.229956,9.40902
+accelerometer: 11428270960,-0.268282,0.19163,9.46651
+accelerometer: 11428290949,-0.383259,0.229956,9.35153
+accelerometer: 11428310968,-0.306608,0.019163,9.524
+accelerometer: 11428330957,-0.364096,-0.0383259,9.73479
+accelerometer: 11428350946,-0.383259,0.0574889,9.6773
+accelerometer: 11428370935,-0.383259,0.249119,9.90726
+accelerometer: 11428390924,-0.32577,0.19163,9.60065
+accelerometer: 11428410944,-0.479074,0.114978,9.50483
+accelerometer: 11428430933,-0.421585,0.344933,9.44734
+accelerometer: 11428450525,-0.479074,0.210793,9.42818
+accelerometer: 11428470758,-0.402422,0.210793,9.56232
+accelerometer: 11428490900,-0.364096,0.114978,9.63897
+accelerometer: 11428510950,-0.172467,0.0766519,9.48567
+accelerometer: 11428531000,-0.440748,0.0766519,9.65814
+accelerometer: 11428550623,-0.306608,0.134141,9.8306
+accelerometer: 11428570917,-0.153304,-0.0958148,9.58148
+accelerometer: 11428590814,-0.172467,-4.86739,9.50483
+accelerometer: 11428610986,-0.249119,-0.019163,9.60065
+accelerometer: 11428630945,-0.287445,0.0766519,9.50483
+accelerometer: 11428650781,-0.32577,0.0958148,9.56232
+accelerometer: 11428670923,-0.344933,0.249119,9.50483
+accelerometer: 11428690820,-0.689867,0.19163,9.56232
+accelerometer: 11428710962,-0.383259,0.0766519,9.71563
+accelerometer: 11428730920,-0.402422,0.134141,9.46651
+accelerometer: 11428750818,-0.479074,0.287445,9.65814
+accelerometer: 11428772577,-0.479074,0.287445,9.6773
+accelerometer: 11428790827,-0.421585,0.249119,9.46651
+accelerometer: 11428810846,-0.287445,4.82907,9.58148
+accelerometer: 11428830805,-0.440748,0.0958148,9.46651
+accelerometer: 11428850763,-0.32577,0.172467,9.54316
+accelerometer: 11428870813,-0.594052,0.172467,9.60065
+accelerometer: 11428890802,-0.32577,0.172467,9.56232
+accelerometer: 11428910822,-0.306608,0.0383259,9.60065
+accelerometer: 11428930811,-0.440748,0.114978,9.524
+accelerometer: 11428950800,-0.459911,0.0383259,9.524
+accelerometer: 11428970941,-0.421585,0.0766519,9.50483
+accelerometer: 11428990778,-0.287445,0.172467,9.56232
+accelerometer: 11429010858,-0.210793,0.0574889,9.54316
+accelerometer: 11429030969,-0.5174,0.229956,9.56232
+accelerometer: 11429050775,-0.32577,0.306608,9.54316
+accelerometer: 11429070917,-0.32577,0.134141,9.65814
+accelerometer: 11429090997,-0.229956,0.229956,9.69646
+accelerometer: 11429110925,-0.344933,0.153304,9.60065
+accelerometer: 11429130945,-0.479074,0.0958148,9.50483
+accelerometer: 11429150812,-0.306608,0.19163,9.71563
+accelerometer: 11429170953,-0.421585,0.0574889,9.56232
+accelerometer: 11429190942,-0.479074,0.210793,9.50483
+accelerometer: 11429210962,-0.383259,0.287445,9.6773
+accelerometer: 11429230920,-0.402422,0.134141,9.50483
+accelerometer: 11429250818,-0.5174,0.32577,9.40902
+irProximity:11429259143,0.290196
+accelerometer: 11429270929,-0.689867,0.172467,9.3132
+accelerometer: 11429290949,-0.728193,0.210793,9.65814
+accelerometer: 11429310968,-0.287445,0.153304,9.69646
+accelerometer: 11429330835,-0.249119,0.153304,9.69646
+accelerometer: 11429350794,-0.287445,0.0958148,9.54316
+irProximity:11429360339,0.294118
+accelerometer: 11429370844,-0.594052,0.19163,9.50483
+accelerometer: 11429390894,-0.632378,0.19163,9.42818
+accelerometer: 11429410822,-0.440748,0.249119,9.37069
+accelerometer: 11429430811,-0.421585,0.019163,9.56232
+accelerometer: 11429450769,-0.498237,0.364096,9.48567
+accelerometer: 11429470667,-0.306608,0.153304,9.69646
+accelerometer: 11429490839,-0.5174,0.210793,9.56232
+accelerometer: 11429510797,-0.32577,0.19163,9.63897
+accelerometer: 11429530786,-0.364096,0.153304,9.46651
+accelerometer: 11429550806,-0.536563,0.153304,9.58148
+accelerometer: 11429570795,-0.594052,0.958148,6.36211
+accelerometer: 11429591608,-0.747356,0.287445,9.14074
+accelerometer: 11429610956,-1.09229,0.555726,10.0989
+accelerometer: 11429630640,-0.229956,0.134141,10.5588
+accelerometer: 11429650842,-0.268282,-0.153304,10.3863
+accelerometer: 11429670831,-0.574889,0.0958148,10.2139
+accelerometer: 11429690790,-0.421585,0.0383259,9.63897
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat
new file mode 100644
index 0000000000..f49d5a22f2
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat
@@ -0,0 +1,234 @@
+orientation:11043900509,5
+accelerometer: 11100730588,-0.114978,0.536563,9.04492
+accelerometer: 11100750912,0.0766519,-0.249119,9.42818
+accelerometer: 11100770962,0.0958148,0,9.75395
+irProximity:11100791116,0.286275
+accelerometer: 11100790951,-0.249119,0.172467,9.23655
+proximity:11100797891,0
+accelerometer: 11100810940,0.0766519,-0.0574889,9.65814
+accelerometer: 11100830929,0.0766519,-0.114978,9.524
+accelerometer: 11100850918,-0.249119,-0.019163,9.42818
+accelerometer: 11100870968,0.19163,-0.229956,9.75395
+accelerometer: 11100890744,-0.153304,-0.019163,9.58148
+accelerometer: 11100910946,-0.0574889,0.0766519,9.48567
+accelerometer: 11100930966,-0.134141,4.75242,9.6773
+accelerometer: 11100950924,0.0958148,-0.172467,9.63897
+accelerometer: 11100970944,0.019163,-0.0574889,9.46651
+accelerometer: 11100990689,0.229956,-0.229956,9.71563
+accelerometer: 11101010922,0.0574889,0,9.6773
+accelerometer: 11101030758,-0.0958148,-0.0574889,9.77311
+accelerometer: 11101051663,-0.210793,-0.134141,9.73479
+accelerometer: 11101071133,-0.0766519,0.0766519,9.79228
+accelerometer: 11101090878,0.0383259,0.0766519,9.86893
+accelerometer: 11101111203,-0.019163,0.0574889,9.46651
+accelerometer: 11101130642,-0.0383259,-0.0574889,9.6773
+accelerometer: 11101150967,-0.0958148,-0.0766519,9.54316
+accelerometer: 11101170956,0.019163,-0.134141,9.71563
+accelerometer: 11101190823,-0.0574889,0.0958148,9.6773
+accelerometer: 11101210934,0.0383259,-0.0766519,9.48567
+accelerometer: 11101230984,-0.0958148,-0.249119,9.6773
+accelerometer: 11101250973,0.114978,-4.88656,9.44734
+accelerometer: 11101270962,-0.19163,-0.0574889,9.73479
+accelerometer: 11101290799,-0.0574889,-0.0958148,9.61981
+irProximity:11101296243,0.415686
+accelerometer: 11101310971,-0.0766519,0.019163,9.63897
+accelerometer: 11101330960,0.0574889,-0.153304,9.6773
+accelerometer: 11101350979,-0.153304,4.80991,9.60065
+accelerometer: 11101370968,0.287445,0.0383259,9.8306
+proximity:11101385922,1
+accelerometer: 11101390774,0.0574889,-0.0766519,9.48567
+irProximity:11101397225,0.517647
+accelerometer: 11101410946,-0.0766519,-0.0766519,9.63897
+accelerometer: 11101430966,0.268282,0.0383259,9.6773
+accelerometer: 11101450955,-0.0958148,-4.82907,9.40902
+accelerometer: 11101470944,0.287445,-0.0383259,9.69646
+accelerometer: 11101490902,0.153304,-0.0383259,9.61981
+accelerometer: 11101510830,-0.019163,-0.0574889,9.46651
+accelerometer: 11101530942,1.09229,0.0574889,10.5205
+accelerometer: 11101550778,-0.32577,0.172467,10.3672
+accelerometer: 11101570981,-0.306608,0.0766519,9.48567
+accelerometer: 11101590848,0.5174,-0.229956,10.2905
+irProximity:11101598153,0.6
+accelerometer: 11101611050,-0.153304,0,9.44734
+accelerometer: 11101630948,-0.19163,-0.229956,9.46651
+accelerometer: 11101650540,-0.019163,0.0958148,9.33237
+accelerometer: 11101670682,-0.19163,-0.0766519,9.40902
+accelerometer: 11101690793,-0.0574889,0,9.63897
+accelerometer: 11101710812,-0.0766519,0.0383259,9.69646
+accelerometer: 11101730801,0.019163,-0.229956,9.60065
+accelerometer: 11101750821,-0.114978,-0.0383259,9.71563
+accelerometer: 11101770779,-0.019163,-0.0574889,9.58148
+accelerometer: 11101790768,-0.249119,-0.153304,9.65814
+irProximity:11101798623,0.690196
+accelerometer: 11101810788,0.0383259,-0.249119,9.54316
+accelerometer: 11101830807,-0.0383259,0.0766519,9.524
+accelerometer: 11101850888,0,-0.19163,9.60065
+accelerometer: 11101870938,-0.0766519,-0.0766519,9.46651
+accelerometer: 11101890896,-0.19163,-0.019163,9.56232
+accelerometer: 11101910946,-0.134141,-0.134141,9.46651
+accelerometer: 11101930996,-0.114978,-0.0574889,9.63897
+accelerometer: 11101950924,-0.0958148,-0.287445,9.65814
+accelerometer: 11101970913,-0.229956,0.0383259,9.81144
+accelerometer: 11101990780,0,-0.0766519,9.63897
+irProximity:11101999398,0.682353
+accelerometer: 11102010739,0,-0.0766519,9.61981
+accelerometer: 11102030911,-0.019163,-0.114978,9.61981
+accelerometer: 11102051632,0,-0.134141,9.37069
+accelerometer: 11102072079,-0.114978,0.134141,9.79228
+accelerometer: 11102092007,-0.0958148,0.0766519,9.61981
+accelerometer: 11102113003,-0.19163,-4.88656,9.60065
+accelerometer: 11102131100,-0.268282,-0.19163,9.56232
+accelerometer: 11102150998,0.019163,-0.134141,9.524
+accelerometer: 11102171017,0.0766519,-0.0766519,9.63897
+accelerometer: 11102190854,-0.114978,0.0383259,9.69646
+irProximity:11102200356,0.678431
+accelerometer: 11102210843,-0.19163,-0.229956,9.44734
+accelerometer: 11102230801,-0.0958148,-0.019163,9.54316
+accelerometer: 11102251034,-0.229956,4.88656,9.65814
+accelerometer: 11102271054,-0.0383259,-0.134141,9.44734
+accelerometer: 11102291012,-0.0574889,-0.114978,9.58148
+accelerometer: 11102311001,-0.0958148,-0.0383259,9.61981
+accelerometer: 11102330990,-0.114978,-0.114978,9.54316
+accelerometer: 11102350979,-0.0574889,-0.0766519,9.61981
+accelerometer: 11102370999,-0.0766519,4.82907,9.61981
+accelerometer: 11102390866,-0.134141,-0.0574889,9.58148
+accelerometer: 11102410550,-0.0383259,0.153304,9.63897
+accelerometer: 11102430508,-0.229956,-0.229956,9.46651
+accelerometer: 11102450711,0.0383259,0.0574889,9.54316
+accelerometer: 11102470822,-0.153304,-0.172467,9.63897
+accelerometer: 11102490811,-0.172467,-0.0766519,9.75395
+accelerometer: 11102510800,-0.229956,0.19163,9.73479
+accelerometer: 11102530850,-0.0958148,-0.172467,9.56232
+accelerometer: 11102550808,-0.172467,-0.134141,9.71563
+accelerometer: 11102570767,-0.0383259,-4.75242,9.58148
+accelerometer: 11102590787,-0.0383259,-0.114978,9.73479
+accelerometer: 11102610837,-0.268282,0.153304,9.61981
+accelerometer: 11102630795,-0.0574889,-0.229956,9.61981
+accelerometer: 11102650845,-0.172467,-0.019163,9.63897
+accelerometer: 11102670926,0.019163,-0.153304,9.63897
+accelerometer: 11102690976,0.114978,-0.0383259,9.58148
+accelerometer: 11102710965,-0.134141,-0.0766519,9.6773
+accelerometer: 11102730984,-0.134141,0.0574889,9.524
+accelerometer: 11102751004,0.0574889,0.0766519,9.75395
+accelerometer: 11102771054,-0.0383259,-0.019163,9.60065
+accelerometer: 11102790890,-0.114978,-0.114978,9.63897
+irProximity:11102803261,0.67451
+accelerometer: 11102810940,-0.0958148,0,9.73479
+accelerometer: 11102830960,-0.0383259,-0.134141,9.6773
+accelerometer: 11102850949,-0.114978,4.75242,9.69646
+accelerometer: 11102871029,-0.134141,-0.0383259,9.63897
+accelerometer: 11102890988,-0.0958148,0.019163,9.75395
+accelerometer: 11102910946,-0.019163,-0.0574889,9.48567
+accelerometer: 11102930874,0.0766519,0.134141,9.79228
+accelerometer: 11102950833,-0.019163,-0.114978,9.40902
+accelerometer: 11102970578,-0.153304,0.114978,9.71563
+accelerometer: 11102990567,-0.172467,0.0574889,9.94558
+irProximity:11103004037,0.678431
+accelerometer: 11103010830,-0.268282,0,9.37069
+accelerometer: 11103030972,-0.0958148,0.249119,9.73479
+accelerometer: 11103050900,-0.268282,-0.0574889,7.39691
+accelerometer: 11103070523,0.555726,-0.19163,9.98391
+accelerometer: 11103091122,-0.134141,-0.172467,9.17906
+accelerometer: 11103111020,-0.306608,0.172467,10.6163
+accelerometer: 11103130978,0.19163,0.0574889,10.0222
+accelerometer: 11103150906,-0.364096,-0.0383259,8.6425
+accelerometer: 11103170956,0.19163,0.0958148,10.0222
+accelerometer: 11103190762,0.0766519,-0.229956,9.524
+proximity:11103201321,0
+irProximity:11103204537,0.439216
+accelerometer: 11103210995,-0.0383259,-0.0766519,9.54316
+accelerometer: 11103230923,0.0766519,-4.86739,9.8306
+accelerometer: 11103250943,-0.172467,-0.249119,9.35153
+accelerometer: 11103270962,-0.0574889,-0.0383259,9.6773
+accelerometer: 11103290951,-0.19163,-0.0958148,9.54316
+accelerometer: 11103310940,-0.0766519,-0.0574889,9.73479
+accelerometer: 11103330960,-0.0958148,-0.0383259,9.79228
+accelerometer: 11103350949,-0.114978,0.019163,9.61981
+accelerometer: 11103370968,-0.172467,-0.019163,9.6773
+accelerometer: 11103390927,-0.019163,0.0574889,9.524
+irProximity:11103406136,0.286275
+accelerometer: 11103410916,0.0766519,-0.134141,9.37069
+accelerometer: 11103430935,-0.114978,-0.0383259,9.46651
+accelerometer: 11103450955,-0.019163,-0.172467,9.73479
+accelerometer: 11103470975,-0.172467,0.0766519,9.524
+accelerometer: 11103490933,0.019163,0,9.71563
+accelerometer: 11103510739,-0.0958148,-0.153304,9.524
+accelerometer: 11103530911,-0.0574889,-0.19163,9.60065
+accelerometer: 11103550808,-0.153304,-0.0958148,9.73479
+accelerometer: 11103570981,-0.287445,0.114978,9.56232
+accelerometer: 11103591000,0,-0.114978,9.56232
+accelerometer: 11103610928,-0.172467,0.019163,9.58148
+accelerometer: 11103630948,0.019163,-0.0383259,9.38986
+accelerometer: 11103650937,-0.0574889,0.0766519,9.58148
+accelerometer: 11103670956,-0.134141,0.0383259,9.60065
+accelerometer: 11103690945,-0.249119,-0.019163,9.56232
+accelerometer: 11103710934,-0.019163,4.73325,9.61981
+accelerometer: 11103730740,-0.0383259,-0.0574889,9.54316
+accelerometer: 11103750912,0.0574889,0.0574889,9.65814
+accelerometer: 11103770962,-0.134141,-0.172467,9.71563
+accelerometer: 11103790951,0.0574889,0.268282,9.60065
+accelerometer: 11103811001,-0.268282,-0.268282,9.63897
+accelerometer: 11103830990,-0.0958148,-0.0766519,9.65814
+accelerometer: 11103850949,-0.210793,-0.0766519,9.38986
+accelerometer: 11103870968,-0.0574889,-0.114978,9.6773
+accelerometer: 11103890927,0.019163,-0.019163,9.65814
+accelerometer: 11103910885,-4.90572,-0.0766519,9.65814
+accelerometer: 11103930935,0.019163,4.82907,9.69646
+accelerometer: 11103950924,-0.210793,-0.019163,9.50483
+accelerometer: 11103970944,-0.019163,-0.134141,9.61981
+accelerometer: 11103990811,-0.210793,0.0766519,9.54316
+accelerometer: 11104010922,-0.19163,-0.114978,9.44734
+accelerometer: 11104030819,-0.114978,-0.0383259,9.54316
+accelerometer: 11104050992,-0.0383259,-0.019163,9.58148
+accelerometer: 11104070981,-0.19163,-0.0383259,9.44734
+accelerometer: 11104091031,-0.287445,4.77158,9.54316
+accelerometer: 11104111416,-0.134141,-4.82907,9.42818
+accelerometer: 11104130551,-0.019163,-0.019163,9.65814
+accelerometer: 11104150967,0.0958148,-0.268282,9.63897
+accelerometer: 11104170926,0.0574889,0,9.60065
+accelerometer: 11104190976,-0.32577,-0.172467,9.524
+accelerometer: 11104210995,0,0,9.6773
+accelerometer: 11104230954,0.0958148,-0.0958148,9.58148
+accelerometer: 11104250973,-0.114978,-0.383259,9.60065
+accelerometer: 11104270962,0.0574889,0,9.61981
+accelerometer: 11104290951,-0.134141,-0.0383259,9.60065
+accelerometer: 11104310635,-0.134141,0,9.60065
+accelerometer: 11104330960,-0.0766519,-0.0766519,9.54316
+accelerometer: 11104350949,-0.0958148,-0.114978,9.60065
+accelerometer: 11104370968,0.019163,-0.153304,9.58148
+accelerometer: 11104390927,-0.287445,0.0958148,9.61981
+accelerometer: 11104410733,-0.0383259,0.134141,9.65814
+accelerometer: 11104430905,-0.153304,-0.19163,9.54316
+accelerometer: 11104450894,-0.210793,-0.019163,9.6773
+accelerometer: 11104470913,0.153304,-0.229956,9.65814
+accelerometer: 11104490964,0.134141,-0.0383259,9.63897
+accelerometer: 11104510800,0.153304,-0.0766519,9.63897
+accelerometer: 11104530942,0,-0.210793,9.6773
+accelerometer: 11104550961,-0.019163,-0.019163,9.65814
+accelerometer: 11104570950,0.172467,-0.0574889,9.73479
+accelerometer: 11104590939,-0.0958148,-0.0574889,9.81144
+accelerometer: 11104610806,-0.19163,0.019163,9.8306
+accelerometer: 11104630917,-0.0766519,4.80991,9.48567
+accelerometer: 11104650937,-0.134141,0.0958148,9.524
+accelerometer: 11104670926,0.0574889,-0.019163,9.63897
+accelerometer: 11104690976,-0.134141,-0.019163,9.48567
+accelerometer: 11104710812,-0.0383259,-0.0383259,9.61981
+accelerometer: 11104730862,-0.0766519,-0.249119,9.73479
+accelerometer: 11104750973,0.0766519,-0.0958148,9.8306
+accelerometer: 11104770962,-0.0766519,-0.19163,9.56232
+accelerometer: 11104790951,-0.632378,0.344933,9.44734
+accelerometer: 11104810818,0.306608,-0.172467,9.71563
+accelerometer: 11104830929,-0.0574889,4.84823,9.75395
+accelerometer: 11104850949,-0.632378,0.210793,9.54316
+accelerometer: 11104870938,-0.32577,-0.0383259,9.38986
+accelerometer: 11104890927,-0.268282,-0.0958148,9.29404
+accelerometer: 11104910763,-0.344933,-0.019163,9.21739
+accelerometer: 11104931241,-0.210793,-0.019163,9.54316
+accelerometer: 11104950528,-0.0574889,-0.114978,9.46651
+accelerometer: 11104970822,-0.0574889,-0.0574889,9.524
+accelerometer: 11104990811,-0.114978,0.0383259,9.524
+accelerometer: 11105010800,0.0766519,-0.0958148,9.69646
+accelerometer: 11105030789,-0.114978,-0.0958148,9.58148
+accelerometer: 11105050808,-0.210793,-4.79074,9.35153
+accelerometer: 11105070798,0.114978,0.134141,10.233
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat
new file mode 100644
index 0000000000..4ee7293b67
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat
@@ -0,0 +1,653 @@
+orientation:9573770688,5
+accelerometer: 9576731808,0.402422,-0.0383259,9.69646
+accelerometer: 9576750577,0.134141,-0.153304,9.38986
+accelerometer: 9576770718,0.0383259,0.019163,9.75395
+accelerometer: 9576790555,-0.019163,0.229956,9.23655
+accelerometer: 9576810727,0.19163,-0.0958148,9.46651
+irProximity:9576818280,0.286275
+accelerometer: 9576833462,0.0958148,-4.84823,9.6773
+proximity:9576836896,0
+accelerometer: 9576850552,0.0383259,-0.0766519,9.35153
+accelerometer: 9576870572,0.114978,-0.0766519,9.77311
+accelerometer: 9576890561,-0.0383259,0.0383259,9.6773
+accelerometer: 9576910550,0,-0.0766519,9.6773
+accelerometer: 9576930752,0.114978,0,9.73479
+accelerometer: 9576950711,-0.134141,0.114978,9.60065
+accelerometer: 9576970639,0.114978,-0.0383259,9.79228
+accelerometer: 9576990719,-0.0958148,-0.114978,9.44734
+accelerometer: 9577010525,-0.229956,0.134141,9.63897
+accelerometer: 9577031064,-0.210793,0,9.63897
+accelerometer: 9577050717,0.0383259,-0.0574889,9.48567
+accelerometer: 9577070767,-0.0383259,4.86739,9.48567
+accelerometer: 9577090909,0,-0.0383259,9.44734
+accelerometer: 9577110776,-0.0766519,-0.019163,9.6773
+accelerometer: 9577130887,0.0383259,0.153304,9.54316
+accelerometer: 9577150784,0.0766519,-0.0766519,9.71563
+accelerometer: 9577170804,0.0574889,-0.0574889,9.63897
+accelerometer: 9577190976,-0.0766519,0.0383259,9.42818
+accelerometer: 9577210873,0,4.84823,9.65814
+accelerometer: 9577231015,0.0383259,-0.210793,9.48567
+accelerometer: 9577250790,-0.0958148,0.0383259,9.65814
+accelerometer: 9577270810,0.114978,-0.0766519,9.50483
+accelerometer: 9577290982,1.82048,0.229956,1.97379
+accelerometer: 9577310544,-1.68634,-0.0574889,9.37069
+irProximity:9577324872,0.290196
+accelerometer: 9577330533,1.72467,-0.440748,8.68083
+accelerometer: 9577350491,-0.919823,-0.134141,6.99448
+accelerometer: 9577370572,0.785682,-0.019163,10.3288
+accelerometer: 9577390896,-0.249119,0,9.10241
+accelerometer: 9577410916,0.114978,0.249119,2.97026
+irProximity:9577425335,0.286275
+accelerometer: 9577430630,-0.689867,-1.01564,9.90726
+accelerometer: 9577450497,-1.9163,0.594052,8.47003
+accelerometer: 9577470517,0,-0.0766519,10.2714
+accelerometer: 9577490506,-0.114978,0.229956,10.0797
+tap:9577504834,1
+accelerometer: 9577510495,0.364096,0.153304,10.8079
+accelerometer: 9577530575,-0.019163,0.229956,9.21739
+accelerometer: 9577550534,1.07313,2.28039,-19.4504
+accelerometer: 9577570645,0.32577,-2.14625,1.0348
+accelerometer: 9577590695,-0.632378,2.70198,16.2885
+accelerometer: 9577610531,0.613215,-0.5174,8.81497
+irProximity:9577626202,0.290196
+accelerometer: 9577630520,0.383259,-0.555726,8.75748
+accelerometer: 9577650693,0.843171,1.14978,6.22797
+accelerometer: 9577670743,0.344933,0.594052,-1.13062
+accelerometer: 9577690915,0.364096,-1.41806,10.463
+accelerometer: 9577712582,-0.229956,-1.09229,6.78369
+irProximity:9577727002,0.286275
+accelerometer: 9577732815,0.938986,1.22643,19.3163
+accelerometer: 9577752499,0.249119,0.134141,8.33589
+accelerometer: 9577770871,0.364096,1.09229,12.4176
+accelerometer: 9577791043,0.32577,-0.32577,-5.11651
+accelerometer: 9577811123,0.249119,-0.536563,5.03986
+accelerometer: 9577831051,0.0958148,0.383259,10.1947
+accelerometer: 9577850857,-0.019163,0.440748,10.233
+accelerometer: 9577870663,1.16894,-0.229956,10.6354
+accelerometer: 9577891446,1.82048,0.134141,27.9779
+accelerometer: 9577911160,1.36057,1.5522,7.66519
+irProximity:9577928418,0.294118
+accelerometer: 9577930996,-1.3989,-0.824008,6.68788
+accelerometer: 9577950955,-0.632378,-0.249119,6.40043
+accelerometer: 9577970852,0.536563,-0.785682,7.81849
+accelerometer: 9577991910,0.32577,1.99295,12.9733
+accelerometer: 9578012875,-2.16542,6.76453,8.92994
+irProximity:9578029309,0.286275
+accelerometer: 9578031033,0.5174,-0.996474,10.5013
+accelerometer: 9578051053,-0.536563,0.210793,9.48567
+accelerometer: 9578070614,0.268282,0,9.88809
+accelerometer: 9578090817,-0.766519,4.04339,12.9925
+accelerometer: 9578110959,0.804845,-0.364096,4.86739
+irProximity:9578129925,0.282353
+accelerometer: 9578130734,-1.41806,-1.01564,8.91078
+accelerometer: 9578150937,-0.459911,0.344933,10.9804
+accelerometer: 9578170590,-0.344933,-0.0766519,9.08325
+accelerometer: 9578190701,0.287445,-0.134141,11.7852
+accelerometer: 9578210690,-0.019163,-0.114978,9.17906
+irProximity:9578230389,0.286275
+accelerometer: 9578230527,0.114978,0.5174,9.98391
+accelerometer: 9578250516,0.824008,-0.862334,4.46497
+accelerometer: 9578270688,-0.0383259,-0.574889,8.98743
+accelerometer: 9578290829,-0.268282,-0.114978,9.96474
+accelerometer: 9578310818,0.785682,-0.0574889,9.42818
+irProximity:9578331097,0.294118
+accelerometer: 9578330807,-0.019163,0.019163,10.6354
+accelerometer: 9578350827,-0.766519,0.0766519,5.0207
+accelerometer: 9578370877,-0.498237,-0.594052,11.287
+accelerometer: 9578390805,-0.134141,0.19163,11.6702
+accelerometer: 9578410916,-1.60969,-0.594052,5.71057
+irProximity:9578431622,0.286275
+accelerometer: 9578430661,-1.43722,1.36057,12.2835
+accelerometer: 9578450985,-1.64802,0.785682,8.71915
+accelerometer: 9578471036,1.74383,-0.402422,8.54668
+accelerometer: 9578490994,1.30308,1.53304,-4.6566
+accelerometer: 9578510830,-1.20727,0.536563,6.15131
+irProximity:9578532422,0.290196
+accelerometer: 9578531216,0.153304,-0.747356,3.96673
+accelerometer: 9578550992,-0.383259,-0.0766519,9.1599
+accelerometer: 9578570645,-1.26476,0.32577,8.83413
+accelerometer: 9578590756,1.09229,-0.0383259,10.5205
+accelerometer: 9578610989,-0.70903,-0.114978,8.52752
+accelerometer: 9578630612,0.594052,0.0383259,10.3288
+irProximity:9578633648,0.294118
+accelerometer: 9578650967,-0.383259,-0.019163,9.71563
+accelerometer: 9578670956,-0.210793,0.0574889,9.60065
+accelerometer: 9578691250,0.134141,0.19163,9.96474
+accelerometer: 9578710904,-0.651541,-4.80991,8.83413
+accelerometer: 9578730771,0.536563,-0.0574889,9.56232
+irProximity:9578734601,0.290196
+accelerometer: 9578750943,-0.421585,0.287445,9.40902
+accelerometer: 9578770932,0.344933,0,10.1372
+accelerometer: 9578790951,-0.479074,4.86739,8.75748
+accelerometer: 9578810940,0.32577,0.287445,10.6163
+accelerometer: 9578830838,-0.0958148,-0.0958148,9.27488
+irProximity:9578835522,0.286275
+accelerometer: 9578851010,0.0383259,0.0574889,9.90726
+accelerometer: 9578870968,-0.114978,4.86739,9.60065
+accelerometer: 9578890988,-0.134141,-0.0574889,9.48567
+accelerometer: 9578910946,-0.0766519,0.19163,9.90726
+accelerometer: 9578930752,-0.114978,0,9.50483
+accelerometer: 9578950924,4.75242,0.0383259,9.81144
+accelerometer: 9578970822,-0.0958148,-4.77158,9.33237
+accelerometer: 9578990750,0.172467,-0.229956,9.37069
+accelerometer: 9579010739,0.172467,-0.0383259,9.50483
+accelerometer: 9579030789,0.210793,0.019163,9.8306
+accelerometer: 9579050961,-0.019163,-0.019163,9.58148
+accelerometer: 9579070950,0,0.153304,9.73479
+accelerometer: 9579090970,0.019163,-0.0766519,9.524
+accelerometer: 9579110959,-0.0958148,0.019163,9.6773
+accelerometer: 9579130826,0.153304,-4.86739,9.60065
+accelerometer: 9579150937,0.0766519,-0.0958148,9.61981
+accelerometer: 9579170956,-0.114978,0.0766519,9.61981
+accelerometer: 9579190793,-0.0383259,-0.0383259,9.63897
+accelerometer: 9579210995,-0.134141,0.114978,9.524
+accelerometer: 9579230801,-0.019163,0.0383259,9.60065
+accelerometer: 9579250943,0.172467,-0.134141,9.65814
+accelerometer: 9579270962,-0.019163,-4.77158,9.61981
+accelerometer: 9579290951,-0.153304,0,9.56232
+accelerometer: 9579311001,0.172467,-0.134141,9.79228
+accelerometer: 9579330807,-0.019163,-0.019163,9.46651
+accelerometer: 9579350918,0,0.153304,9.56232
+accelerometer: 9579370999,0.0958148,0.114978,9.69646
+accelerometer: 9579390957,-0.0383259,-0.0383259,9.46651
+accelerometer: 9579410946,-0.0383259,-4.82907,9.524
+accelerometer: 9579430813,0,4.80991,9.63897
+accelerometer: 9579450924,-0.0958148,-0.0958148,9.44734
+accelerometer: 9579470944,-0.153304,0,9.58148
+accelerometer: 9579490933,-0.0766519,-4.88656,9.65814
+accelerometer: 9579510891,0.0958148,0.0383259,9.56232
+accelerometer: 9579530881,-0.172467,-0.0958148,9.524
+accelerometer: 9579550961,0.268282,-0.172467,9.73479
+accelerometer: 9579570981,-0.0383259,-0.019163,9.58148
+accelerometer: 9579590970,-0.153304,0.19163,9.44734
+accelerometer: 9579610959,-0.0383259,0.0574889,9.60065
+accelerometer: 9579630795,-0.134141,0.0383259,9.40902
+accelerometer: 9579650906,-0.172467,-4.90572,9.54316
+accelerometer: 9579670956,-0.172467,0.0958148,9.50483
+accelerometer: 9579690945,-0.019163,0.0383259,9.63897
+accelerometer: 9579710965,4.67576,0,9.73479
+accelerometer: 9579730954,0.019163,-0.306608,9.69646
+accelerometer: 9579750912,0.153304,-0.153304,9.50483
+accelerometer: 9579770993,0.134141,-0.114978,9.50483
+accelerometer: 9579790951,0.344933,0,9.48567
+accelerometer: 9579811093,0.0766519,-0.0766519,9.58148
+accelerometer: 9579831021,0.153304,-0.019163,9.58148
+accelerometer: 9579850918,-0.0958148,0.0958148,9.54316
+accelerometer: 9579870999,-0.0383259,-0.019163,9.54316
+accelerometer: 9579890957,-0.019163,4.79074,9.50483
+accelerometer: 9579910916,0,-0.0958148,9.40902
+accelerometer: 9579930935,-0.172467,0.0766519,9.61981
+accelerometer: 9579950924,-0.134141,0.0958148,9.50483
+accelerometer: 9579970944,0.019163,-0.0574889,9.48567
+accelerometer: 9579990902,0.0574889,0.019163,9.73479
+accelerometer: 9580010922,-0.0574889,0.019163,9.48567
+accelerometer: 9580030942,0.0574889,-0.134141,9.71563
+accelerometer: 9580050931,0.019163,4.80991,9.50483
+accelerometer: 9580070981,0.0574889,-0.134141,9.524
+accelerometer: 9580090970,0,0.0574889,9.54316
+accelerometer: 9580110928,-0.0766519,-0.134141,9.69646
+accelerometer: 9580130917,-0.229956,-0.766519,8.4892
+accelerometer: 9580150784,0.344933,0.32577,10.9229
+accelerometer: 9580170804,-0.114978,0.134141,9.58148
+accelerometer: 9580190823,-0.287445,-0.114978,8.6425
+accelerometer: 9580210965,0,0.134141,10.0989
+accelerometer: 9580230923,0.210793,0.0383259,10.1755
+accelerometer: 9580250973,0.0766519,-0.210793,9.42818
+accelerometer: 9580270993,-0.306608,0.153304,9.3132
+accelerometer: 9580290982,-0.0958148,0.210793,9.54316
+accelerometer: 9580311062,-0.0958148,0.019163,9.63897
+accelerometer: 9580330990,0.0766519,0.019163,9.73479
+accelerometer: 9580350644,0.0383259,0.0383259,9.58148
+accelerometer: 9580370663,0.0383259,-0.019163,9.60065
+accelerometer: 9580390805,-0.172467,0.0766519,9.35153
+accelerometer: 9580410763,0.229956,-0.114978,9.8306
+accelerometer: 9580430752,-0.344933,0.0766519,8.96827
+accelerometer: 9580450833,0.249119,0.19163,9.81144
+accelerometer: 9580470883,-0.134141,-0.0383259,9.17906
+accelerometer: 9580490872,0.0766519,0.19163,10.0031
+accelerometer: 9580510891,-0.114978,-0.0574889,9.40902
+accelerometer: 9580530728,0.0383259,0.134141,9.88809
+accelerometer: 9580550931,0.0383259,-0.210793,9.42818
+accelerometer: 9580570981,-0.0574889,0.134141,9.81144
+accelerometer: 9580590970,0,4.75242,9.61981
+accelerometer: 9580610959,0.114978,0.0383259,9.63897
+accelerometer: 9580630948,-0.019163,0,9.46651
+accelerometer: 9580650906,0,0.0383259,9.60065
+accelerometer: 9580670987,0.134141,0.0766519,9.6773
+accelerometer: 9580690976,0.0383259,0.229956,9.54316
+accelerometer: 9580710934,0.153304,0,9.58148
+accelerometer: 9580730954,-0.153304,-0.019163,9.40902
+accelerometer: 9580751095,-0.153304,-0.0958148,9.63897
+accelerometer: 9580770962,-0.019163,-0.0383259,9.42818
+accelerometer: 9580790982,0.0958148,-0.134141,9.46651
+accelerometer: 9580810971,-0.114978,0,9.54316
+accelerometer: 9580830990,0.019163,-0.019163,9.48567
+accelerometer: 9580851040,0,-0.019163,9.65814
+accelerometer: 9580870999,-0.0574889,-0.0383259,9.61981
+accelerometer: 9580890957,-0.32577,0.613215,2.41453
+accelerometer: 9580910916,0.364096,0.651541,8.25924
+accelerometer: 9580930874,-0.249119,0.364096,8.2784
+accelerometer: 9580950894,-0.153304,-0.383259,9.88809
+accelerometer: 9580971097,-0.268282,0.0383259,9.79228
+accelerometer: 9580990994,-0.0383259,-0.114978,9.524
+accelerometer: 9581011075,-0.019163,-0.0766519,9.60065
+accelerometer: 9581031186,0,0.114978,9.79228
+accelerometer: 9581050778,-0.0958148,0.019163,9.73479
+accelerometer: 9581070920,-0.114978,0.019163,9.44734
+accelerometer: 9581091275,-0.440748,0.210793,9.19823
+accelerometer: 9581110806,0.613215,0,9.77311
+accelerometer: 9581130795,-0.5174,0.0574889,9.33237
+accelerometer: 9581150784,0.19163,0.0383259,9.98391
+accelerometer: 9581170956,0.249119,-0.0574889,9.58148
+accelerometer: 9581190823,-0.287445,0.114978,9.23655
+accelerometer: 9581210965,0.32577,-0.134141,10.0031
+accelerometer: 9581230954,-0.19163,0.0958148,9.50483
+accelerometer: 9581250821,-0.114978,-0.0383259,9.65814
+accelerometer: 9581270932,0.134141,-0.0383259,9.75395
+accelerometer: 9581290951,-0.210793,-0.268282,9.10241
+accelerometer: 9581310940,0.134141,0.0958148,9.75395
+accelerometer: 9581330990,-0.0958148,-0.019163,9.40902
+accelerometer: 9581350766,0.0383259,-0.019163,9.50483
+accelerometer: 9581370968,0.114978,0.0383259,9.56232
+accelerometer: 9581390957,0,4.84823,9.38986
+accelerometer: 9581410946,0.210793,0.0958148,9.94558
+accelerometer: 9581430966,-0.229956,-0.019163,9.44734
+accelerometer: 9581450802,0.114978,-0.0958148,9.65814
+accelerometer: 9581470944,0.114978,-4.69493,9.63897
+accelerometer: 9581490964,0.0574889,-0.0574889,9.46651
+accelerometer: 9581511227,-0.0766519,4.86739,9.48567
+accelerometer: 9581531704,-0.0574889,0.0383259,9.44734
+accelerometer: 9581550839,-0.114978,-4.88656,9.71563
+accelerometer: 9581570950,-0.19163,0.019163,9.71563
+accelerometer: 9581590970,-0.114978,0.0574889,9.71563
+accelerometer: 9581611020,-0.0574889,4.86739,9.524
+accelerometer: 9581630978,-0.268282,-0.479074,12.1685
+accelerometer: 9581650845,0.651541,0.32577,11.5553
+accelerometer: 9581670559,0.229956,-0.268282,9.35153
+accelerometer: 9581690579,0.306608,-0.172467,9.54316
+accelerometer: 9581710812,0.0766519,-4.77158,9.54316
+accelerometer: 9581730771,-0.0383259,0.0574889,9.63897
+accelerometer: 9581750790,-0.134141,0.019163,9.23655
+accelerometer: 9581770810,0,-0.210793,9.46651
+accelerometer: 9581790829,0.0574889,-0.019163,9.40902
+accelerometer: 9581810818,-0.249119,0.0383259,9.48567
+accelerometer: 9581830716,0,0.0383259,9.79228
+accelerometer: 9581850857,-0.019163,-0.0383259,9.75395
+irProximity:9581860577,0.282353
+accelerometer: 9581870938,-0.0383259,0.0574889,9.54316
+accelerometer: 9581890988,0.287445,-0.019163,9.65814
+accelerometer: 9581910916,-0.0383259,0.0383259,9.56232
+accelerometer: 9581930966,0.134141,-0.19163,9.48567
+accelerometer: 9581950772,0.114978,-4.86739,9.71563
+irProximity:9581961468,0.286275
+accelerometer: 9581970975,-0.0574889,-0.0383259,9.524
+accelerometer: 9581990750,0.019163,0.019163,9.58148
+accelerometer: 9582011075,0.0383259,0.019163,9.65814
+accelerometer: 9582032589,-0.153304,0.0958148,9.33237
+accelerometer: 9582050778,-0.0958148,0,9.8306
+accelerometer: 9582072598,-0.114978,-0.0383259,9.69646
+accelerometer: 9582090909,0,-0.0766519,9.54316
+accelerometer: 9582111172,0.0383259,-0.0766519,9.6773
+accelerometer: 9582130856,0.019163,0.0766519,9.58148
+accelerometer: 9582150937,-0.0766519,-0.019163,9.63897
+accelerometer: 9582170926,0.153304,-0.114978,9.81144
+accelerometer: 9582190823,0,0,9.524
+accelerometer: 9582210995,-0.114978,0.0958148,9.44734
+accelerometer: 9582230984,0.019163,0,9.75395
+accelerometer: 9582250973,-2.01211,3.21938,-11.1337
+accelerometer: 9582270810,0.0766519,-0.364096,10.7696
+accelerometer: 9582290829,0.32577,-0.5174,7.87598
+accelerometer: 9582311062,-0.114978,-0.32577,8.96827
+accelerometer: 9582331021,0.0574889,-0.172467,9.42818
+accelerometer: 9582350979,-0.172467,0.0383259,9.88809
+accelerometer: 9582370968,0.0958148,0.134141,9.8306
+accelerometer: 9582390988,-0.134141,0.0766519,9.35153
+accelerometer: 9582410946,-0.153304,4.84823,9.6773
+accelerometer: 9582430996,-0.0766519,-0.114978,9.17906
+accelerometer: 9582451108,0.153304,0,9.77311
+accelerometer: 9582470913,-0.114978,0,9.37069
+accelerometer: 9582490964,0.0958148,-0.0766519,9.84977
+accelerometer: 9582510922,-0.268282,-4.90572,9.38986
+accelerometer: 9582530789,0.0766519,-4.90572,9.65814
+accelerometer: 9582550992,-0.153304,0.019163,9.54316
+accelerometer: 9582570920,-4.88656,0.0383259,9.50483
+accelerometer: 9582590970,0,-0.019163,9.56232
+accelerometer: 9582610928,0.0958148,-0.172467,9.61981
+accelerometer: 9582630948,-0.019163,-0.134141,9.60065
+accelerometer: 9582650967,-0.229956,4.80991,9.44734
+accelerometer: 9582670895,0.229956,-4.84823,9.61981
+accelerometer: 9582690976,-0.19163,-0.0383259,9.46651
+accelerometer: 9582710965,0.0958148,0.019163,9.65814
+accelerometer: 9582730984,-0.134141,4.80991,9.42818
+accelerometer: 9582750912,0.114978,0.0574889,9.69646
+accelerometer: 9582770840,-0.0766519,-0.0574889,9.37069
+accelerometer: 9582790921,0,-0.0574889,9.75395
+accelerometer: 9582811001,-0.172467,4.88656,9.38986
+accelerometer: 9582830990,0.019163,-0.0383259,9.6773
+accelerometer: 9582850949,-0.19163,0.0383259,9.46651
+accelerometer: 9582870907,0.0383259,-0.019163,9.75395
+accelerometer: 9582890957,-0.0383259,0,9.50483
+accelerometer: 9582910946,0,-4.86739,9.63897
+accelerometer: 9582930935,0.0574889,0,9.71563
+accelerometer: 9582950955,-0.0574889,0.019163,9.58148
+accelerometer: 9582970913,-0.0766519,-0.0383259,9.71563
+accelerometer: 9582990750,0.153304,0.019163,9.46651
+accelerometer: 9583010830,-0.0958148,-0.019163,9.54316
+accelerometer: 9583031003,-0.0383259,-0.0766519,9.54316
+accelerometer: 9583050870,-0.114978,0.0574889,9.6773
+accelerometer: 9583070736,-0.0574889,0.0766519,9.61981
+accelerometer: 9583090939,-0.0383259,0.019163,9.56232
+accelerometer: 9583111325,0,0.0766519,9.56232
+accelerometer: 9583130887,-0.0383259,-0.0383259,9.61981
+accelerometer: 9583150967,0.114978,-0.019163,9.524
+accelerometer: 9583170895,0.0574889,-0.0383259,9.48567
+accelerometer: 9583190762,-0.0574889,-0.0383259,9.40902
+accelerometer: 9583210934,0.0958148,0.019163,9.61981
+accelerometer: 9583230923,0.210793,-0.019163,9.63897
+accelerometer: 9583250943,-0.019163,-0.0574889,9.56232
+accelerometer: 9583271054,-0.0574889,0.0383259,9.37069
+accelerometer: 9583290768,0.0958148,-0.0958148,9.8306
+accelerometer: 9583310788,-0.249119,4.86739,9.79228
+accelerometer: 9583330746,0.0574889,-0.19163,9.58148
+accelerometer: 9583350796,0,-0.172467,9.40902
+accelerometer: 9583371060,-0.249119,0,9.6773
+accelerometer: 9583390957,-0.019163,-4.82907,9.50483
+accelerometer: 9583410916,0.172467,-0.114978,9.73479
+accelerometer: 9583430966,-0.249119,0.019163,9.63897
+accelerometer: 9583450955,-0.19163,0.153304,9.56232
+irProximity:9583472851,0.282353
+accelerometer: 9583471188,-0.268282,0.114978,9.60065
+accelerometer: 9583490964,0.172467,0.0766519,9.56232
+accelerometer: 9583510953,-0.114978,0,9.73479
+accelerometer: 9583530606,-0.019163,-0.0574889,9.65814
+accelerometer: 9583550656,-0.0958148,-0.019163,9.50483
+accelerometer: 9583570767,-0.249119,0.0958148,9.35153
+irProximity:9583573589,0.286275
+accelerometer: 9583590817,-0.268282,0.0383259,9.63897
+accelerometer: 9583610806,-0.153304,-0.0383259,9.63897
+accelerometer: 9583630795,0.019163,0.0958148,9.98391
+accelerometer: 9583650815,0.32577,-0.306608,8.98743
+accelerometer: 9583670865,-0.268282,0.249119,9.96474
+accelerometer: 9583691006,0.344933,-0.153304,9.56232
+accelerometer: 9583710934,-0.306608,4.82907,9.58148
+accelerometer: 9583730923,0.249119,-0.19163,9.77311
+accelerometer: 9583750973,-0.153304,-0.0383259,9.33237
+accelerometer: 9583770749,0.498237,-0.0958148,10.0606
+accelerometer: 9583790921,-0.0958148,4.86739,9.42818
+accelerometer: 9583810940,0.383259,0.019163,9.94558
+accelerometer: 9583830899,-0.210793,0.114978,9.44734
+accelerometer: 9583851040,0.210793,-4.82907,9.69646
+accelerometer: 9583870968,-0.134141,-0.0958148,9.40902
+accelerometer: 9583890988,-0.0383259,0,9.6773
+accelerometer: 9583910946,0.0383259,0.153304,9.42818
+accelerometer: 9583930966,0.0958148,-0.153304,9.77311
+accelerometer: 9583950985,0.114978,-0.0766519,9.56232
+accelerometer: 9583970791,-0.019163,-0.0958148,9.48567
+accelerometer: 9583990750,0.153304,0.172467,24.7777
+accelerometer: 9584010922,-0.019163,-0.574889,7.58854
+accelerometer: 9584030819,-0.134141,0.19163,10.348
+accelerometer: 9584050778,-0.0574889,0.287445,10.3863
+accelerometer: 9584070798,-0.0958148,-0.0383259,9.63897
+accelerometer: 9584091000,0,-0.172467,9.46651
+accelerometer: 9584111111,-0.114978,-0.114978,9.25571
+accelerometer: 9584130978,0,-0.19163,9.69646
+accelerometer: 9584150998,-0.574889,0.632378,9.58148
+accelerometer: 9584170834,-0.0574889,0.134141,9.73479
+accelerometer: 9584190884,-0.153304,-0.114978,9.33237
+accelerometer: 9584210965,0.172467,0.134141,9.92642
+accelerometer: 9584230984,-0.229956,-0.114978,9.35153
+accelerometer: 9584250973,-0.0574889,0.0383259,9.73479
+accelerometer: 9584270779,-0.019163,-0.0574889,9.56232
+accelerometer: 9584290921,0.0958148,4.69493,9.54316
+accelerometer: 9584311001,-0.114978,-0.172467,9.50483
+accelerometer: 9584330960,0.153304,0.114978,9.63897
+accelerometer: 9584350949,0.0574889,0.0958148,9.42818
+accelerometer: 9584370816,0.0766519,0.172467,9.73479
+accelerometer: 9584390927,-0.134141,-0.019163,9.65814
+accelerometer: 9584410916,-0.0383259,0,9.48567
+accelerometer: 9584430966,0.114978,0,9.54316
+accelerometer: 9584450924,0,4.82907,9.524
+accelerometer: 9584470791,0.0574889,-0.0383259,9.54316
+accelerometer: 9584490964,-0.0766519,0.0574889,9.46651
+accelerometer: 9584510922,0.134141,0.364096,32.6345
+accelerometer: 9584530881,-0.5174,-0.32577,6.55374
+accelerometer: 9584550778,1.7055,0.70903,8.83413
+accelerometer: 9584570767,0.153304,0.134141,10.4247
+accelerometer: 9584590817,0,0.134141,10.0222
+tap:9584605938,1
+accelerometer: 9584610837,-0.172467,0.0766519,9.42818
+accelerometer: 9584630765,-0.172467,-0.0766519,9.25571
+accelerometer: 9584650937,0.019163,-0.0766519,9.61981
+accelerometer: 9584670926,-0.402422,0.229956,9.19823
+accelerometer: 9584691037,0.0958148,4.88656,9.61981
+accelerometer: 9584711026,0.019163,-0.172467,9.6773
+accelerometer: 9584730954,-0.287445,-0.0383259,9.38986
+accelerometer: 9584750973,0.383259,-0.114978,9.71563
+accelerometer: 9584770962,-0.0958148,-0.0574889,9.524
+accelerometer: 9584790951,0.019163,0.268282,9.75395
+accelerometer: 9584811001,0.0958148,-0.0383259,9.73479
+accelerometer: 9584830990,-0.268282,-0.134141,9.48567
+accelerometer: 9584850949,0.0766519,0.153304,9.75395
+accelerometer: 9584870999,0.019163,0.0383259,9.81144
+accelerometer: 9584890927,-0.0766519,0.0766519,9.44734
+accelerometer: 9584910916,-0.0574889,0.019163,9.50483
+accelerometer: 9584930966,0.0766519,-4.90572,9.61981
+accelerometer: 9584950802,-0.0574889,0.0383259,9.38986
+accelerometer: 9584970974,-0.0383259,-0.0766519,9.54316
+accelerometer: 9584990750,0.0574889,-0.114978,9.60065
+accelerometer: 9585010830,-0.019163,0.019163,9.6773
+accelerometer: 9585031003,-0.019163,0,9.61981
+accelerometer: 9585050961,-0.0766519,-0.0958148,9.65814
+accelerometer: 9585070950,-0.0383259,0.0766519,9.60065
+accelerometer: 9585090939,-0.019163,0.019163,9.54316
+accelerometer: 9585110989,0.172467,-0.0766519,9.73479
+accelerometer: 9585130948,-0.0383259,-0.019163,9.48567
+accelerometer: 9585150998,0.0574889,-0.0574889,9.58148
+accelerometer: 9585170956,-0.0383259,-0.114978,9.65814
+accelerometer: 9585190854,-0.287445,-0.0958148,9.54316
+accelerometer: 9585210965,-0.134141,0,9.50483
+accelerometer: 9585230954,-0.0766519,0.134141,9.61981
+accelerometer: 9585250973,-0.0766519,4.88656,9.60065
+accelerometer: 9585270962,-0.0958148,4.88656,9.56232
+accelerometer: 9585290921,-0.019163,0.0383259,9.524
+accelerometer: 9585310940,0.19163,0.0383259,9.8306
+accelerometer: 9585330990,0.0766519,-0.114978,9.54316
+accelerometer: 9585350827,-0.32577,4.86739,9.25571
+accelerometer: 9585370938,0.498237,-0.019163,9.86893
+accelerometer: 9585390927,0.747356,-0.229956,9.46651
+accelerometer: 9585410916,0.0574889,0.0383259,9.63897
+accelerometer: 9585430905,-1.34141,0.0958148,9.48567
+accelerometer: 9585450894,-0.421585,0.114978,9.58148
+accelerometer: 9585470791,-0.651541,-0.0958148,9.35153
+accelerometer: 9585490841,-0.843171,0.019163,9.44734
+accelerometer: 9585510922,-0.632378,0.114978,10.0989
+accelerometer: 9585531094,-0.5174,-0.114978,9.42818
+accelerometer: 9585550961,0.172467,-0.364096,9.29404
+accelerometer: 9585570981,0.0958148,-0.670704,9.27488
+accelerometer: 9585590909,-0.689867,-0.804845,9.38986
+accelerometer: 9585610928,-0.402422,-0.440748,10.0414
+accelerometer: 9585630978,0.574889,0.0383259,9.61981
+accelerometer: 9585650967,1.24559,0.5174,9.48567
+accelerometer: 9585670956,0.632378,0.0766519,9.88809
+accelerometer: 9585690945,1.85881,-0.114978,9.40902
+accelerometer: 9585710965,0.747356,0.19163,10.7121
+accelerometer: 9585730954,2.08876,-0.287445,10.3097
+accelerometer: 9585751004,2.10793,0.172467,9.44734
+accelerometer: 9585770962,0.938986,-0.306608,9.81144
+accelerometer: 9585791073,0.210793,0.249119,9.08325
+accelerometer: 9585810971,0.268282,-1.47555,10.118
+accelerometer: 9585830990,0.747356,-0.440748,8.60417
+accelerometer: 9585850796,1.76299,-0.0958148,9.27488
+accelerometer: 9585871060,1.59053,-0.402422,9.37069
+irProximity:9585892437,0.290196
+accelerometer: 9585890927,2.26123,-0.421585,8.96827
+accelerometer: 9585910916,3.14273,-0.421585,7.49272
+accelerometer: 9585930935,3.29603,-1.3989,9.38986
+accelerometer: 9585950955,2.51035,-0.421585,8.62334
+accelerometer: 9585970944,2.68282,-0.651541,9.27488
+accelerometer: 9585990933,2.2229,-0.210793,9.6773
+irProximity:9585994305,0.301961
+accelerometer: 9586010861,2.68282,-1.11145,9.65814
+accelerometer: 9586031003,2.45286,-1.05396,9.524
+accelerometer: 9586050686,1.57136,-1.13062,9.92642
+accelerometer: 9586070889,0.594052,-0.402422,10.0989
+accelerometer: 9586090848,0.19163,0.019163,9.79228
+irProximity:9586095287,0.337255
+accelerometer: 9586111111,4.82907,-0.134141,9.96474
+accelerometer: 9586130917,-0.440748,-0.249119,10.8462
+proximity:9586144406,1
+accelerometer: 9586150937,-0.172467,-1.0348,10.233
+accelerometer: 9586170804,-0.498237,-0.651541,8.45087
+accelerometer: 9586190793,1.76299,0.287445,18.1473
+irProximity:9586196209,0.498039
+accelerometer: 9586210965,1.05396,-0.229956,14.1806
+accelerometer: 9586230954,1.07313,0.134141,8.24008
+accelerometer: 9586250943,0.804845,-0.0574889,9.33237
+accelerometer: 9586270962,-0.421585,-0.0574889,8.69999
+accelerometer: 9586290951,0.402422,0.268282,10.5396
+accelerometer: 9586310971,0.0383259,0,9.44734
+accelerometer: 9586330929,-0.0958148,0.172467,9.54316
+accelerometer: 9586350949,0.229956,-0.0766519,9.73479
+accelerometer: 9586370938,-0.344933,0.0383259,9.06409
+accelerometer: 9586390774,-0.0383259,0.019163,9.40902
+irProximity:9586397228,0.482353
+accelerometer: 9586410916,-0.153304,0.0766519,9.73479
+accelerometer: 9586430905,-0.19163,-0.0574889,9.37069
+accelerometer: 9586450924,0.019163,0.19163,9.46651
+accelerometer: 9586470975,-0.0958148,0.114978,9.75395
+accelerometer: 9586490933,-0.0574889,0,9.524
+accelerometer: 9586511380,-0.134141,0.0766519,9.46651
+accelerometer: 9586531003,-0.019163,0.114978,9.48567
+accelerometer: 9586551022,0.0766519,-4.90572,9.71563
+accelerometer: 9586570889,0.19163,-4.79074,9.60065
+accelerometer: 9586590787,0.114978,-0.0766519,9.44734
+irProximity:9586598125,0.509804
+accelerometer: 9586611081,-0.134141,0.172467,9.75395
+accelerometer: 9586630978,-0.19163,0.249119,9.56232
+accelerometer: 9586650937,-0.0383259,0.0383259,9.71563
+accelerometer: 9586670926,-0.268282,0.268282,9.61981
+accelerometer: 9586690976,-0.019163,-0.0383259,9.42818
+accelerometer: 9586710965,0.153304,0.019163,9.524
+accelerometer: 9586730954,0,0.19163,9.50483
+accelerometer: 9586750943,0.0574889,0.19163,9.56232
+accelerometer: 9586770932,-0.0766519,0.0574889,9.44734
+accelerometer: 9586790860,0.268282,-0.0766519,9.524
+irProximity:9586799084,0.505882
+accelerometer: 9586811032,-0.421585,0.19163,9.33237
+accelerometer: 9586831021,0.0766519,0.114978,9.50483
+accelerometer: 9586850552,-0.0574889,-0.0958148,9.54316
+accelerometer: 9586870602,-0.0958148,0.019163,9.81144
+accelerometer: 9586890805,0.114978,0.0958148,9.524
+accelerometer: 9586910763,-0.210793,0.268282,9.6773
+accelerometer: 9586930783,0.019163,0.0958148,9.63897
+accelerometer: 9586950802,-0.019163,0,9.61981
+accelerometer: 9586970883,0.153304,-0.0958148,9.6773
+accelerometer: 9586990628,-0.210793,0.0383259,9.50483
+irProximity:9586999859,0.501961
+accelerometer: 9587010769,0,0.0574889,9.71563
+accelerometer: 9587030575,-0.402422,0.0574889,9.56232
+accelerometer: 9587051022,1.01564,-0.670704,9.38986
+accelerometer: 9587071042,-0.689867,0.421585,9.98391
+accelerometer: 9587090878,-0.785682,0.364096,9.3132
+accelerometer: 9587110959,0.0574889,-0.0766519,9.56232
+accelerometer: 9587130948,0.0383259,-0.0766519,9.524
+accelerometer: 9587150967,-0.0574889,0.0766519,9.46651
+accelerometer: 9587170926,-0.0574889,0,9.73479
+accelerometer: 9587190793,-0.0383259,0.134141,9.50483
+irProximity:9587200909,0.494118
+accelerometer: 9587210965,0,0.0958148,9.71563
+accelerometer: 9587230984,0.114978,0.153304,9.61981
+accelerometer: 9587250943,0.172467,0.0574889,9.61981
+accelerometer: 9587270932,-0.019163,-0.019163,9.56232
+accelerometer: 9587290921,0.153304,-0.172467,9.61981
+accelerometer: 9587310971,-0.134141,0.0958148,9.65814
+accelerometer: 9587330990,-0.0766519,0.0383259,9.48567
+accelerometer: 9587350918,0.019163,0.019163,9.48567
+accelerometer: 9587370968,0.019163,0,9.40902
+accelerometer: 9587390835,0.268282,0.019163,9.73479
+irProximity:9587401775,0.486275
+accelerometer: 9587410916,0.0958148,0.0383259,9.58148
+accelerometer: 9587430935,-0.268282,4.79074,9.48567
+accelerometer: 9587450894,0.019163,0.114978,9.81144
+accelerometer: 9587470913,-0.0958148,0.0383259,9.37069
+accelerometer: 9587490750,0.249119,0.114978,9.6773
+accelerometer: 9587510922,0.0383259,4.88656,9.54316
+accelerometer: 9587531003,0,-0.229956,9.37069
+accelerometer: 9587550992,0.0766519,-0.0766519,9.524
+accelerometer: 9587570950,0,0.153304,9.69646
+accelerometer: 9587591000,-0.249119,4.77158,9.75395
+irProximity:9587602825,0.490196
+accelerometer: 9587610959,-0.0766519,0.153304,9.48567
+accelerometer: 9587630948,0,-0.134141,9.46651
+accelerometer: 9587650784,-0.0574889,0.0766519,9.58148
+accelerometer: 9587670804,-0.134141,0.172467,9.73479
+accelerometer: 9587690976,-0.0766519,-4.77158,9.38986
+accelerometer: 9587711087,-0.019163,-0.134141,9.63897
+accelerometer: 9587730954,0.019163,0.019163,9.48567
+accelerometer: 9587751004,4.75242,-0.0574889,9.54316
+accelerometer: 9587770962,-0.210793,4.88656,9.54316
+accelerometer: 9587790982,-0.019163,0.0958148,9.58148
+irProximity:9587803539,0.486275
+accelerometer: 9587811032,-0.019163,0.0574889,9.6773
+accelerometer: 9587830807,-0.0766519,-0.0958148,9.60065
+accelerometer: 9587850522,-0.229956,-0.019163,9.94558
+accelerometer: 9587870602,-0.172467,-0.114978,9.38986
+accelerometer: 9587890896,0.0958148,0.172467,9.84977
+accelerometer: 9587910916,-0.114978,-0.0766519,9.54316
+accelerometer: 9587930966,-0.019163,4.79074,9.79228
+accelerometer: 9587950924,0.0958148,0.0958148,9.56232
+accelerometer: 9587971005,0.0574889,0.019163,9.63897
+accelerometer: 9587991208,0.0574889,0.172467,9.35153
+accelerometer: 9588010769,0.153304,0.019163,9.77311
+accelerometer: 9588031003,0,0.0574889,9.60065
+accelerometer: 9588051022,0.019163,0.019163,9.48567
+accelerometer: 9588071011,0.019163,-0.114978,9.54316
+accelerometer: 9588091000,0.210793,4.80991,9.69646
+accelerometer: 9588110898,0.019163,0.134141,9.65814
+accelerometer: 9588130917,0.0383259,0.153304,9.8306
+accelerometer: 9588150815,0,-0.114978,9.54316
+accelerometer: 9588170956,0.0383259,0.0383259,9.46651
+accelerometer: 9588190915,-0.0383259,0.114978,9.50483
+accelerometer: 9588211056,0.0574889,-0.19163,9.50483
+accelerometer: 9588230893,0.0383259,0.114978,9.60065
+accelerometer: 9588250943,0.210793,-0.114978,9.60065
+accelerometer: 9588271054,0.172467,-0.0574889,9.54316
+accelerometer: 9588290921,-0.0383259,0.0766519,9.71563
+accelerometer: 9588311062,4.73325,-0.249119,10.8462
+accelerometer: 9588330899,-0.479074,0.364096,9.06409
+accelerometer: 9588350918,-0.210793,-0.114978,9.61981
+accelerometer: 9588370938,-0.402422,0.249119,9.50483
+accelerometer: 9588390927,-1.41806,-0.268282,9.29404
+irProximity:9588405773,0.490196
+accelerometer: 9588410916,0.459911,-0.287445,9.86893
+accelerometer: 9588430874,1.26476,0.70903,9.65814
+accelerometer: 9588450894,-0.862334,0.249119,8.22091
+accelerometer: 9588470669,-0.402422,0.134141,8.66166
+accelerometer: 9588490780,-0.306608,0.268282,9.21739
+accelerometer: 9588510891,-0.287445,0.0574889,8.92994
+accelerometer: 9588531125,-0.153304,0.0383259,9.35153
+accelerometer: 9588550747,-0.0958148,-0.114978,9.50483
+accelerometer: 9588570828,0.383259,-0.0574889,9.73479
+accelerometer: 9588590787,-0.613215,-0.977311,9.21739
+irProximity:9588606304,0.482353
+accelerometer: 9588610898,0.785682,-0.172467,14.3339
+accelerometer: 9588630917,5.03986,0.996474,4.27334
+accelerometer: 9588650631,0.229956,0.70903,12.8392
+accelerometer: 9588670865,-1.14978,-0.459911,8.81497
+accelerometer: 9588690945,-0.670704,0.421585,9.60065
+accelerometer: 9588710995,0,-0.153304,9.58148
+accelerometer: 9588731198,-0.019163,0.249119,9.48567
+accelerometer: 9588750912,-0.019163,-0.114978,9.61981
+accelerometer: 9588770993,0,0,9.56232
+accelerometer: 9588791104,0.0766519,0.0766519,9.6773
+irProximity:9588807232,0.478431
+accelerometer: 9588810818,0,-0.0574889,9.50483
+accelerometer: 9588830899,0.210793,-0.114978,9.524
+accelerometer: 9588850979,-0.0958148,4.84823,9.524
+accelerometer: 9588871029,0.0383259,-0.0574889,9.61981
+accelerometer: 9588891079,-0.114978,0.0958148,9.48567
+accelerometer: 9588913052,-0.0766519,-0.134141,9.524
+accelerometer: 9588930661,-0.019163,0.0574889,9.60065
+accelerometer: 9588950619,0.114978,0.306608,9.71563
+accelerometer: 9588970791,0.785682,0.402422,9.65814
+accelerometer: 9588991360,1.05396,0.402422,9.3132
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat
new file mode 100644
index 0000000000..51cd0f3a8d
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat
@@ -0,0 +1,187 @@
+irProximity:11429762653,0.290196
+orientation:11415310938,5
+accelerometer: 11429814295,-0.306608,-0.114978,9.92642
+accelerometer: 11429831079,-0.153304,-0.134141,10.0797
+accelerometer: 11429850794,-0.383259,0.0574889,10.0031
+irProximity:11429863544,0.294118
+accelerometer: 11429870538,-0.268282,-4.80991,9.61981
+proximity:11429874133,0
+accelerometer: 11429890802,-0.32577,0.172467,9.58148
+accelerometer: 11429910852,-0.536563,0.249119,9.42818
+accelerometer: 11429930811,-0.574889,0.364096,9.25571
+accelerometer: 11429950830,-0.421585,0.306608,9.40902
+accelerometer: 11429970819,-0.555726,0.268282,9.56232
+accelerometer: 11429990808,-0.459911,0.153304,9.6773
+accelerometer: 11430010797,-0.536563,0.0958148,9.63897
+accelerometer: 11430030786,-0.383259,0.0766519,9.92642
+accelerometer: 11430050836,-0.440748,0.0766519,9.54316
+accelerometer: 11430070795,-0.383259,0.153304,9.44734
+accelerometer: 11430090814,-0.479074,0.268282,9.524
+accelerometer: 11430110803,-0.19163,0.249119,9.40902
+accelerometer: 11430130823,-0.459911,0.153304,9.38986
+accelerometer: 11430150781,-0.421585,0.0958148,9.42818
+irProximity:11430166370,0.290196
+accelerometer: 11430170892,-0.651541,0.402422,9.79228
+accelerometer: 11430190820,-0.32577,0.210793,9.61981
+accelerometer: 11430210809,-0.613215,0.153304,9.61981
+accelerometer: 11430230798,-0.689867,0.421585,9.58148
+accelerometer: 11430251001,-0.421585,0.172467,9.56232
+irProximity:11430267139,0.294118
+accelerometer: 11430270990,-0.459911,0.0766519,9.42818
+accelerometer: 11430291010,-0.268282,0.114978,9.63897
+accelerometer: 11430310968,-0.459911,0.229956,9.48567
+accelerometer: 11430330957,-0.5174,0.0766519,9.44734
+accelerometer: 11430350916,-0.32577,0.0958148,9.60065
+accelerometer: 11430370905,-0.306608,0.383259,9.65814
+accelerometer: 11430390924,-0.5174,0.134141,9.60065
+accelerometer: 11430411066,-0.574889,0.421585,9.50483
+accelerometer: 11430430933,-0.344933,0.134141,9.50483
+accelerometer: 11430450952,-0.479074,0.19163,9.6773
+accelerometer: 11430470789,-0.249119,0.364096,9.58148
+accelerometer: 11430490900,-0.479074,0.229956,9.25571
+accelerometer: 11430510919,-0.594052,0.19163,9.38986
+accelerometer: 11430530939,-0.19163,0.0766519,9.25571
+accelerometer: 11430550958,-0.0958148,0.153304,9.79228
+accelerometer: 11430570947,0.210793,0.114978,9.81144
+accelerometer: 11430590967,0.594052,0.5174,9.12157
+accelerometer: 11430610895,-0.747356,0.90066,9.44734
+accelerometer: 11430630975,-1.80132,1.28392,9.44734
+accelerometer: 11430650934,-2.39537,2.0696,9.75395
+accelerometer: 11430670923,-3.29603,2.89361,11.1528
+accelerometer: 11430690942,-3.67929,2.85528,10.7313
+accelerometer: 11430710931,-2.9511,2.66365,10.4438
+accelerometer: 11430730920,-1.37973,0.977311,10.0797
+accelerometer: 11430750971,-0.344933,-0.440748,9.06409
+irProximity:11430770831,0.290196
+accelerometer: 11430774683,-0.172467,-1.24559,9.84977
+accelerometer: 11430790735,0.019163,-1.09229,8.69999
+accelerometer: 11430810846,-2.52951,0.306608,9.6773
+accelerometer: 11430830805,-3.89008,1.34141,13.7207
+accelerometer: 11430850794,0.0958148,1.85881,12.5901
+accelerometer: 11430870966,-2.39537,2.18458,12.1876
+accelerometer: 11430890772,-1.89713,0,12.8775
+accelerometer: 11430910822,-0.5174,0.172467,12.7625
+accelerometer: 11430930902,-0.651541,0.440748,11.3828
+accelerometer: 11430950922,-0.287445,1.60969,10.4438
+accelerometer: 11430970636,0.555726,1.80132,9.10241
+irProximity:11430972125,0.294118
+accelerometer: 11430990778,-0.440748,2.9511,5.57642
+accelerometer: 11431010828,-1.30308,4.36916,3.21938
+accelerometer: 11431030969,-0.249119,5.82554,3.66013
+orientation:11431030969,1
+accelerometer: 11431050653,0.019163,6.28545,3.08524
+accelerometer: 11431070734,0.344933,7.16695,3.50682
+accelerometer: 11431090936,0.728193,7.07114,4.23502
+accelerometer: 11431110956,0.306608,6.82202,3.75594
+accelerometer: 11431130945,0.268282,7.03281,4.59911
+accelerometer: 11431150964,-0.0574889,6.89867,5.34647
+accelerometer: 11431170770,0.019163,7.20528,5.55726
+accelerometer: 11431190912,-0.479074,7.10946,5.61475
+accelerometer: 11431210931,-0.632378,7.33942,5.97885
+accelerometer: 11431230951,-0.594052,7.51188,6.17048
+accelerometer: 11431251001,-0.344933,7.33942,6.38127
+accelerometer: 11431270776,-0.555726,7.64602,6.43876
+accelerometer: 11431290888,-0.306608,7.49272,6.74537
+accelerometer: 11431310877,-0.114978,7.58854,6.40043
+accelerometer: 11431330927,-0.0958148,7.51188,6.30462
+accelerometer: 11431350733,-0.210793,7.33942,6.07466
+accelerometer: 11431370752,-0.19163,7.33942,5.95968
+accelerometer: 11431390894,-0.268282,7.47356,6.07466
+accelerometer: 11431410944,-0.287445,7.32025,5.99801
+accelerometer: 11431430933,-0.229956,7.39691,6.07466
+accelerometer: 11431450922,-0.153304,7.18611,6.24713
+accelerometer: 11431470758,-0.19163,7.20528,6.07466
+accelerometer: 11431490900,-0.229956,7.51188,6.34294
+accelerometer: 11431510950,-0.210793,7.2436,6.22797
+accelerometer: 11431531000,-0.383259,7.35858,6.40043
+accelerometer: 11431550989,-0.402422,7.33942,6.63039
+accelerometer: 11431570764,-0.459911,7.55021,6.38127
+accelerometer: 11431590906,-0.383259,7.53105,6.36211
+accelerometer: 11431610986,-0.210793,7.28193,6.76453
+accelerometer: 11431631006,-0.172467,7.26277,6.61122
+accelerometer: 11431651025,-0.19163,7.10946,6.53457
+accelerometer: 11431670801,-0.134141,7.10946,6.47708
+accelerometer: 11431690973,-0.134141,7.03281,6.63039
+accelerometer: 11431710993,-0.210793,7.12862,6.36211
+accelerometer: 11431730920,-0.210793,7.12862,6.59206
+accelerometer: 11431754114,-0.229956,7.26277,6.5729
+accelerometer: 11431775476,-0.172467,7.20528,6.5729
+accelerometer: 11431790796,-0.153304,7.05197,6.34294
+accelerometer: 11431810816,-0.019163,7.28193,6.45792
+accelerometer: 11431830774,-0.229956,7.0903,6.34294
+accelerometer: 11431850824,-0.229956,7.12862,6.47708
+accelerometer: 11431870813,-0.0383259,7.0903,6.49625
+accelerometer: 11431890772,-0.229956,7.07114,6.38127
+accelerometer: 11431910822,-0.306608,7.32025,6.45792
+accelerometer: 11431930933,-0.0766519,7.28193,6.49625
+accelerometer: 11431950952,-0.153304,7.20528,6.61122
+accelerometer: 11431970819,-0.114978,7.16695,6.53457
+accelerometer: 11431990808,-0.19163,7.07114,6.49625
+accelerometer: 11432010950,-0.0766519,7.16695,6.59206
+accelerometer: 11432030939,-0.229956,7.03281,6.51541
+accelerometer: 11432050958,-0.287445,7.0903,6.49625
+accelerometer: 11432070795,-0.114978,7.01365,6.53457
+accelerometer: 11432090906,-0.134141,7.12862,6.43876
+accelerometer: 11432110956,-0.249119,7.01365,6.2088
+accelerometer: 11432130945,-0.210793,7.0903,6.64955
+accelerometer: 11432150995,-0.210793,6.84118,6.66871
+accelerometer: 11432170892,-0.0766519,6.95616,6.937
+accelerometer: 11432190942,-0.134141,7.03281,6.7262
+accelerometer: 11432210962,-0.344933,6.82202,6.55374
+accelerometer: 11432230798,-0.268282,7.01365,6.38127
+accelerometer: 11432250971,-0.421585,6.78369,6.51541
+accelerometer: 11432270960,0.114978,6.15131,6.70704
+accelerometer: 11432290918,-0.19163,6.40043,6.7262
+accelerometer: 11432310938,-0.364096,6.13215,6.80285
+accelerometer: 11432330957,0.114978,6.34294,7.05197
+accelerometer: 11432350916,0.344933,6.0555,7.41607
+orientation:11432350916,5
+accelerometer: 11432371027,0.0958148,5.78722,7.6077
+accelerometer: 11432390863,-0.153304,5.26982,7.79933
+accelerometer: 11432410913,0.134141,5.40396,8.01012
+accelerometer: 11432430963,0.114978,5.5381,7.85682
+accelerometer: 11432450922,-0.0766519,5.28898,7.79933
+accelerometer: 11432470819,0,4.96321,7.6077
+accelerometer: 11432490900,-0.019163,4.82907,7.83765
+accelerometer: 11432510950,-0.0766519,4.15836,7.89514
+accelerometer: 11432530939,0.32577,3.2577,7.95263
+accelerometer: 11432550928,0.172467,3.85176,7.68435
+accelerometer: 11432570917,-0.402422,2.87445,7.18611
+accelerometer: 11432590875,0.019163,1.93546,6.99448
+accelerometer: 11432610986,0.632378,1.41806,8.50836
+accelerometer: 11432630975,0.440748,1.01564,10.7504
+accelerometer: 11432650995,-0.134141,1.20727,10.5588
+accelerometer: 11432670953,-0.536563,1.3989,9.61981
+accelerometer: 11432690942,-0.459911,1.26476,9.54316
+accelerometer: 11432710962,-0.019163,1.32224,10.1947
+accelerometer: 11432730951,0.210793,1.22643,10.5588
+accelerometer: 11432750971,0.728193,0.536563,10.0031
+accelerometer: 11432774439,0.287445,0.651541,10.9421
+irProximity:11432786975,0.290196
+accelerometer: 11432790796,0.249119,0.172467,10.5396
+accelerometer: 11432810816,-0.0383259,0.32577,11.0379
+accelerometer: 11432830835,-0.229956,0.249119,10.5396
+accelerometer: 11432850763,-0.114978,-0.498237,10.0031
+accelerometer: 11432870813,-0.32577,0,10.0222
+accelerometer: 11432890802,-0.364096,4.84823,10.0031
+accelerometer: 11432910822,-0.306608,-0.402422,10.1372
+accelerometer: 11432930933,0.383259,-0.594052,10.0606
+accelerometer: 11432950952,0.32577,-0.689867,9.77311
+accelerometer: 11432970911,0.0574889,-0.459911,5.09735
+accelerometer: 11432990747,0.153304,-0.70903,9.75395
+accelerometer: 11433010858,0.306608,-0.804845,9.71563
+accelerometer: 11433030939,-0.153304,-0.824008,9.61981
+accelerometer: 11433050928,0.249119,-0.785682,9.50483
+accelerometer: 11433070947,0.134141,-1.01564,9.73479
+accelerometer: 11433090906,0.0766519,-0.804845,9.50483
+accelerometer: 11433110986,0.134141,-1.0348,9.61981
+accelerometer: 11433130975,0.0958148,-0.785682,8.75748
+accelerometer: 11433150995,-0.0766519,-0.766519,10.0222
+accelerometer: 11433170953,-0.0958148,-0.344933,10.0222
+accelerometer: 11433191004,-0.0574889,-0.498237,9.8306
+accelerometer: 11433210596,-0.153304,-0.862334,9.86893
+accelerometer: 11433230676,-0.268282,-0.824008,9.63897
+accelerometer: 11433250635,-0.172467,-0.728193,9.6773
+accelerometer: 11433270807,0.0383259,-1.11145,9.48567
+accelerometer: 11433290735,-0.210793,-0.632378,9.524
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat
new file mode 100644
index 0000000000..043eb3b7eb
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat
@@ -0,0 +1,195 @@
+accelerometer: 11433310724,0.172467,-0.536563,9.60065
+orientation:11432350916,5
+accelerometer: 11433410822,0.249119,-0.459911,9.65814
+accelerometer: 11433430963,0.0766519,-0.440748,9.48567
+accelerometer: 11433450800,-0.019163,-0.364096,9.54316
+irProximity:11433458636,0.290196
+proximity:11433464374,0
+accelerometer: 11433470880,-0.0574889,-0.594052,9.56232
+accelerometer: 11433490930,-0.0383259,-0.689867,9.58148
+accelerometer: 11433510950,-4.84823,-0.651541,9.54316
+accelerometer: 11433530939,-0.0574889,-0.5174,9.50483
+accelerometer: 11433550928,0.0574889,-0.32577,9.65814
+irProximity:11433564960,0.294118
+accelerometer: 11433570917,-0.172467,-0.632378,9.54316
+accelerometer: 11433590997,-0.249119,-0.459911,9.6773
+accelerometer: 11433610956,-0.134141,-0.5174,14.4872
+accelerometer: 11433631006,0.019163,-0.574889,9.65814
+accelerometer: 11433650964,0.19163,-0.555726,9.73479
+irProximity:11433665851,0.290196
+accelerometer: 11433670801,0.0383259,-0.574889,9.3132
+accelerometer: 11433690973,-0.153304,-0.555726,9.35153
+accelerometer: 11433710993,-0.114978,-0.383259,9.61981
+accelerometer: 11433730951,0.153304,-0.402422,9.54316
+accelerometer: 11433750971,0.0574889,-0.498237,9.37069
+accelerometer: 11433772974,-0.114978,-0.479074,9.71563
+accelerometer: 11433790674,-0.0574889,-0.421585,9.524
+accelerometer: 11433810816,-0.0574889,-0.440748,9.524
+accelerometer: 11433830805,0.0766519,-0.498237,9.60065
+accelerometer: 11433850794,0.0766519,-0.479074,9.524
+accelerometer: 11433870722,0.19163,-0.632378,9.44734
+accelerometer: 11433890802,0.287445,-0.498237,9.6773
+accelerometer: 11433910822,0.0574889,-0.229956,9.42818
+accelerometer: 11433930963,0,-0.440748,9.42818
+accelerometer: 11433950952,0.114978,-0.574889,9.50483
+irProximity:11433968219,0.294118
+accelerometer: 11433970819,-0.0383259,-0.594052,9.524
+accelerometer: 11433990778,-0.0958148,-0.459911,9.54316
+accelerometer: 11434010706,0,-0.555726,9.86893
+accelerometer: 11434030908,-0.0383259,-0.364096,9.61981
+accelerometer: 11434050958,-0.0958148,-0.421585,9.61981
+irProximity:11434068988,0.290196
+accelerometer: 11434070947,0.229956,-0.306608,9.56232
+accelerometer: 11434090936,0.114978,-0.306608,9.46651
+accelerometer: 11434110925,-0.421585,-0.651541,9.46651
+accelerometer: 11434130945,0.306608,-0.402422,9.524
+accelerometer: 11434150995,0.919823,-0.440748,9.75395
+accelerometer: 11434170740,0.134141,-0.32577,9.69646
+accelerometer: 11434191004,0.153304,-0.0958148,9.71563
+accelerometer: 11434210962,0.479074,-0.268282,9.98391
+accelerometer: 11434230982,0.344933,-0.0958148,9.81144
+accelerometer: 11434250910,0.555726,-0.0958148,9.46651
+accelerometer: 11434271051,0.114978,0.651541,9.92642
+accelerometer: 11434290949,-0.919823,0.536563,9.3132
+accelerometer: 11434310968,-4.36916,4.54162,10.8846
+accelerometer: 11434330927,-3.4685,6.7262,9.86893
+accelerometer: 11434350946,-4.56079,2.64449,13.7207
+irProximity:11434370898,0.294118
+accelerometer: 11434370783,-2.93193,-1.80132,15.522
+accelerometer: 11434390924,-3.02775,-9.63897,17.1892
+accelerometer: 11434410974,0.555726,-4.52246,15.9436
+accelerometer: 11434430963,8.10594,-0.70903,10.0414
+accelerometer: 11434450983,12.0535,2.33788,3.79427
+accelerometer: 11434471063,16.0011,6.45792,-0.306608
+accelerometer: 11434490900,14.3147,9.42818,-4.77158
+accelerometer: 11434510919,-4.84823,8.01012,-5.6914
+accelerometer: 11434530969,-36.1222,-4.63744,0.153304
+accelerometer: 11434550958,-39.2458,-18.4348,17.1892
+accelerometer: 11434570551,-23.3022,-16.9784,33.6118
+accelerometer: 11434590967,5.42312,-9.02576,27.633
+accelerometer: 11434610712,35.1257,-1.41806,19.987
+accelerometer: 11434630914,39.2266,13.0691,6.74537
+accelerometer: 11434650781,39.2266,12.2643,-2.7403
+accelerometer: 11434670557,29.166,1.09229,-7.01365
+accelerometer: 11434690973,-9.40902,-12.3218,-6.32378
+accelerometer: 11434710779,-39.2458,-16.9209,2.93193
+accelerometer: 11434730982,-39.2458,-16.9017,15.7136
+accelerometer: 11434750971,-39.2458,-20.9643,26.8665
+accelerometer: 11434772913,-12.82,-8.96827,25.4867
+irProximity:11434774890,0.290196
+accelerometer: 11434790796,19.0288,-5.28898,17.0742
+accelerometer: 11434810816,39.2266,10.1947,8.92994
+accelerometer: 11434830835,39.2266,6.84118,1.34141
+accelerometer: 11434850824,39.2266,-0.651541,1.78216
+accelerometer: 11434870813,20.3127,-0.459911,-4.12004
+irProximity:11434875873,0.294118
+accelerometer: 11434890802,-10.7504,-8.92994,-2.70198
+accelerometer: 11434910822,-38.4218,-7.53105,3.52599
+accelerometer: 11434930963,-39.2458,-5.48061,14.8705
+accelerometer: 11434950952,-39.2458,-11.881,24.2028
+accelerometer: 11434970789,-21.0026,-10.5588,24.6436
+accelerometer: 11434990808,5.28898,-6.2088,19.1055
+accelerometer: 11435010828,29.5301,-1.64802,12.0535
+accelerometer: 11435030969,39.2266,8.60417,1.3989
+accelerometer: 11435050928,39.1499,-1.51387,-3.85176
+accelerometer: 11435070764,29.7409,-2.26123,-2.7403
+irProximity:11435077655,0.298039
+accelerometer: 11435090936,5.80638,-1.24559,-4.31167
+accelerometer: 11435110925,-19.3163,-5.03986,0.670704
+accelerometer: 11435130975,-39.0541,-2.31872,11.5361
+accelerometer: 11435150964,-36.218,-3.83259,20.2936
+accelerometer: 11435170801,-24.4328,-3.6218,24.107
+irProximity:11435178607,0.294118
+accelerometer: 11435190973,-6.66871,0.0383259,19.9103
+accelerometer: 11435210962,6.18964,2.60616,15.4262
+accelerometer: 11435230951,8.04845,7.14779,10.4821
+accelerometer: 11435250971,12.226,4.12004,4.86739
+accelerometer: 11435270776,7.41607,2.52951,4.10088
+accelerometer: 11435290888,5.94052,1.95462,4.25418
+orientation:11435290888,4
+accelerometer: 11435310968,2.41453,2.37621,5.72973
+accelerometer: 11435330896,-1.09229,0.555726,7.58854
+accelerometer: 11435350733,-1.14978,-0.268282,7.55021
+orientation:11435350733,5
+accelerometer: 11435370783,-1.22643,0.268282,7.87598
+irProximity:11435380481,0.298039
+accelerometer: 11435390955,-2.52951,0.0383259,9.04492
+accelerometer: 11435411005,-1.22643,-0.574889,10.9995
+accelerometer: 11435430963,-0.594052,0.364096,11.2487
+accelerometer: 11435450952,-0.0766519,1.3989,11.0379
+accelerometer: 11435470819,-0.19163,1.41806,10.5971
+irProximity:11435481189,0.294118
+accelerometer: 11435490930,-0.32577,1.51387,10.233
+accelerometer: 11435510919,-0.594052,1.37973,9.94558
+accelerometer: 11435530969,-0.172467,0.843171,10.0797
+accelerometer: 11435550928,0.306608,0.843171,10.2139
+accelerometer: 11435570917,0,0.938986,10.1372
+accelerometer: 11435590906,-0.210793,1.20727,10.463
+accelerometer: 11435611047,-0.344933,0.785682,9.8306
+accelerometer: 11435631006,-0.364096,0.766519,9.19823
+accelerometer: 11435650964,-0.364096,0.958148,9.524
+accelerometer: 11435670953,-0.459911,0.0958148,9.6773
+accelerometer: 11435690912,-0.287445,-0.287445,9.81144
+accelerometer: 11435710931,0.0766519,-0.594052,9.88809
+accelerometer: 11435730890,-0.0958148,-0.689867,8.92994
+accelerometer: 11435750971,-0.555726,-0.421585,8.1251
+accelerometer: 11435774011,-0.402422,-0.5174,8.73831
+accelerometer: 11435790796,-0.0958148,0.114978,9.81144
+accelerometer: 11435810816,0.249119,0.459911,10.8271
+accelerometer: 11435830743,0.651541,-0.249119,10.1755
+accelerometer: 11435850794,0,-0.632378,9.06409
+accelerometer: 11435870813,0.364096,-1.07313,9.35153
+accelerometer: 11435890802,-0.0574889,-1.68634,9.38986
+accelerometer: 11435910852,0.0958148,-1.7055,9.98391
+accelerometer: 11435930933,0.229956,-1.22643,10.118
+accelerometer: 11435950952,0.344933,-0.479074,10.0222
+accelerometer: 11435970941,0.498237,-0.747356,9.42818
+irProximity:11435984942,0.290196
+accelerometer: 11435990808,0,-0.670704,9.27488
+accelerometer: 11436010919,0.0766519,-0.785682,9.63897
+accelerometer: 11436030939,0.0766519,-0.938986,9.81144
+accelerometer: 11436050928,0.0766519,-1.09229,10.4438
+accelerometer: 11436070917,0,-0.670704,10.118
+irProximity:11436085742,0.294118
+accelerometer: 11436090967,0.421585,-0.766519,9.50483
+accelerometer: 11436110956,0.268282,-0.479074,9.25571
+accelerometer: 11436130975,0.364096,-0.785682,9.40902
+accelerometer: 11436150995,0.210793,-0.824008,9.8306
+accelerometer: 11436170984,-0.0383259,-0.804845,9.69646
+accelerometer: 11436190973,0.114978,-0.613215,9.73479
+accelerometer: 11436210962,0.210793,-0.977311,9.50483
+accelerometer: 11436230951,0.32577,-0.651541,9.84977
+accelerometer: 11436250940,0.268282,-0.766519,9.73479
+accelerometer: 11436270960,0.440748,-0.747356,9.6773
+accelerometer: 11436290888,0.19163,-0.785682,9.8306
+accelerometer: 11436310968,0.0574889,-0.938986,9.58148
+accelerometer: 11436330927,0.287445,-0.613215,9.38986
+accelerometer: 11436350946,0.114978,-0.594052,9.54316
+accelerometer: 11436370966,0.32577,-0.555726,9.50483
+accelerometer: 11436390863,0.268282,-0.632378,9.524
+accelerometer: 11436410913,0.172467,-0.632378,9.56232
+accelerometer: 11436430902,0.172467,-0.651541,9.54316
+accelerometer: 11436450891,0.0574889,-0.555726,9.69646
+accelerometer: 11436470758,0.0574889,-0.651541,9.71563
+irProximity:11436488848,0.290196
+accelerometer: 11436490930,0.0574889,-0.881497,9.46651
+accelerometer: 11436510919,0.0766519,-0.574889,9.48567
+accelerometer: 11436531000,0.249119,-0.632378,9.73479
+accelerometer: 11436550928,0.19163,-0.555726,9.60065
+accelerometer: 11436570947,0.344933,-0.632378,9.54316
+irProximity:11436589709,0.294118
+accelerometer: 11436590997,0.114978,-0.651541,9.61981
+accelerometer: 11436611444,0.287445,-0.613215,9.48567
+accelerometer: 11436630945,0.344933,-0.728193,9.71563
+accelerometer: 11436650934,0.402422,-0.594052,9.84977
+accelerometer: 11436670801,0,-0.32577,8.73831
+irProximity:11436690264,0.290196
+accelerometer: 11436690942,0.019163,-0.670704,9.38986
+accelerometer: 11436710931,0.153304,-0.670704,9.65814
+accelerometer: 11436730982,-0.114978,-0.651541,9.56232
+accelerometer: 11436750971,0.0766519,-0.555726,10.0606
+accelerometer: 11436772852,0.019163,-0.670704,9.77311
+irProximity:11436790789,0.294118
+accelerometer: 11436790704,-0.019163,-0.670704,9.79228
+accelerometer: 11436810907,0,-0.536563,9.71563
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat
new file mode 100644
index 0000000000..8cf7ae5d89
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat
@@ -0,0 +1,204 @@
+orientation:13225890802,5
+accelerometer: 13229240930,0.440748,0.0574889,9.17906
+accelerometer: 13229260828,0.153304,-0.0958148,9.8306
+irProximity:13229277799,0.290196
+accelerometer: 13229281213,-0.19163,0.268282,10.348
+proximity:13229284025,0
+accelerometer: 13229300958,-0.249119,0.632378,9.88809
+accelerometer: 13229320764,-0.5174,0.881497,9.19823
+accelerometer: 13229340814,-0.402422,1.1881,9.02576
+accelerometer: 13229360742,-0.249119,1.57136,9.98391
+irProximity:13229379392,0.294118
+accelerometer: 13229380853,-0.287445,1.45639,10.2714
+accelerometer: 13229400812,-0.402422,1.57136,9.25571
+accelerometer: 13229420770,-0.632378,1.47555,8.89162
+accelerometer: 13229440820,-0.651541,0.958148,9.54316
+accelerometer: 13229460809,-0.5174,1.0348,9.54316
+accelerometer: 13229480859,-0.440748,0.555726,9.77311
+accelerometer: 13229500787,0.402422,-0.843171,9.81144
+accelerometer: 13229520807,1.07313,-0.306608,9.71563
+accelerometer: 13229540827,-0.134141,0.632378,8.60417
+accelerometer: 13229560816,-1.47555,2.08876,9.524
+irProximity:13229580778,0.298039
+accelerometer: 13229581018,-1.01564,2.51035,9.58148
+accelerometer: 13229600671,-0.919823,1.99295,9.79228
+accelerometer: 13229620813,-0.766519,0.958148,8.68083
+accelerometer: 13229640772,-0.862334,0.114978,8.29757
+accelerometer: 13229660639,-0.938986,0.555726,8.31673
+accelerometer: 13229680902,-0.0574889,0.958148,7.83765
+accelerometer: 13229700800,2.31872,2.12709,13.3758
+accelerometer: 13229720819,2.18458,1.99295,10.6546
+accelerometer: 13229740717,1.76299,1.7055,8.81497
+accelerometer: 13229760736,2.54868,0.938986,9.08325
+accelerometer: 13229780573,2.45286,0.977311,9.1599
+irProximity:13229782651,0.301961
+accelerometer: 13229800775,1.24559,1.82048,10.2905
+accelerometer: 13229820764,1.28392,1.59053,9.33237
+accelerometer: 13229840814,2.12709,1.87797,8.7958
+accelerometer: 13229860834,2.14625,0.824008,8.98743
+accelerometer: 13229880823,1.9163,1.0348,9.48567
+irProximity:13229883390,0.294118
+accelerometer: 13229900781,2.10793,0.881497,10.0031
+accelerometer: 13229920801,1.68634,0.421585,9.75395
+accelerometer: 13229940820,1.32224,0.32577,9.6773
+accelerometer: 13229960779,1.85881,0.862334,10.1755
+accelerometer: 13229980524,1.30308,0.5174,9.54316
+accelerometer: 13230000818,1.68634,0.843171,9.65814
+accelerometer: 13230020837,1.59053,0.210793,9.10241
+accelerometer: 13230040796,1.64802,0.268282,9.29404
+accelerometer: 13230060785,1.05396,0.249119,9.81144
+accelerometer: 13230080805,1.13062,0.364096,9.71563
+accelerometer: 13230100794,1.37973,0.440748,9.81144
+accelerometer: 13230120813,1.1881,0.32577,9.56232
+accelerometer: 13230140772,0.824008,0.498237,9.27488
+accelerometer: 13230160822,0.862334,0.536563,9.63897
+accelerometer: 13230180841,0.843171,0.459911,8.91078
+accelerometer: 13230200739,1.0348,0.728193,9.29404
+accelerometer: 13230220819,0.70903,1.07313,9.71563
+accelerometer: 13230241022,0,0.919823,9.42818
+accelerometer: 13230260950,0.536563,1.36057,9.29404
+accelerometer: 13230280847,0.498237,1.16894,9.21739
+accelerometer: 13230300928,-0.268282,1.41806,8.96827
+accelerometer: 13230320917,0,1.5522,8.43171
+accelerometer: 13230340936,0.114978,1.41806,8.08677
+accelerometer: 13230360925,0.0766519,-0.70903,8.98743
+accelerometer: 13230380823,-0.134141,-3.06608,10.9229
+irProximity:13230387571,0.290196
+accelerometer: 13230400873,0.632378,-15.1962,14.6597
+accelerometer: 13230420953,-5.0207,-32.3854,19.2779
+accelerometer: 13230441004,-8.66166,-35.8348,19.1055
+accelerometer: 13230460931,-0.824008,-20.102,8.37422
+accelerometer: 13230480829,8.14426,4.61828,0.824008
+accelerometer: 13230500971,18.4731,36.1605,4.40748
+accelerometer: 13230520960,28.3804,39.2266,11.9769
+accelerometer: 13230540949,25.0077,39.2266,14.0273
+accelerometer: 13230560938,14.928,27.4989,12.9542
+accelerometer: 13230580805,3.56431,8.56585,12.7434
+irProximity:13230589383,0.294118
+accelerometer: 13230600916,-6.36211,-12.935,9.25571
+accelerometer: 13230620966,-9.44734,-31.5997,12.9925
+accelerometer: 13230641046,-9.0066,-39.2458,16.8251
+accelerometer: 13230661157,-7.37774,-39.2458,20.0445
+accelerometer: 13230680994,0.0766519,-38.2301,15.0621
+irProximity:13230690397,0.290196
+accelerometer: 13230701379,8.1251,-17.5724,7.99096
+accelerometer: 13230721368,11.5553,0.632378,8.25924
+accelerometer: 13230741480,14.3531,23.8579,10.118
+accelerometer: 13230761835,13.2224,38.9008,14.2764
+accelerometer: 13230781641,12.2451,39.2266,19.6037
+irProximity:13230791379,0.294118
+accelerometer: 13230800653,9.58148,39.2266,18.7797
+accelerometer: 13230821283,2.14625,26.5599,12.9542
+accelerometer: 13230841425,-4.59911,8.18259,6.11299
+accelerometer: 13230860803,-5.84471,-9.75395,0.728193
+accelerometer: 13230880853,-1.93546,-39.1691,1.45639
+irProximity:13230892423,0.290196
+accelerometer: 13230900781,-1.14978,-39.2458,15.3112
+accelerometer: 13230920770,4.06255,-39.2458,21.0793
+accelerometer: 13230940820,10.7313,-39.2458,9.63897
+accelerometer: 13230960809,14.5639,-15.1579,4.5033
+accelerometer: 13230980798,13.2799,6.18964,7.74184
+irProximity:13230993223,0.294118
+accelerometer: 13231000635,16.0969,35.6431,14.7746
+accelerometer: 13231020990,17.5533,39.2266,23.8387
+accelerometer: 13231040949,17.8216,39.2266,27.9588
+accelerometer: 13231060968,8.16343,39.2266,21.6542
+accelerometer: 13231080927,-1.1881,19.3929,11.2678
+accelerometer: 13231100946,-8.01012,-1.83965,2.62533
+accelerometer: 13231121027,-3.2577,-25.0843,2.37621
+accelerometer: 13231141016,0.498237,-39.2458,12.3218
+accelerometer: 13231161035,2.29956,-39.2458,23.7238
+accelerometer: 13231180994,8.52752,-39.2458,14.0465
+irProximity:13231194883,0.290196
+accelerometer: 13231201044,14.7746,-23.5321,1.82048
+accelerometer: 13231220575,15.3495,4.15836,1.13062
+accelerometer: 13231240595,17.1125,27.0389,7.62686
+accelerometer: 13231260797,19.0097,39.2074,14.7363
+accelerometer: 13231280939,16.3843,38.7475,24.5094
+irProximity:13231295713,0.294118
+accelerometer: 13231300958,9.94558,26.8282,19.8337
+accelerometer: 13231320947,2.62533,10.3672,16.6143
+accelerometer: 13231340936,-3.02775,-2.14625,13.165
+accelerometer: 13231361078,-5.88303,-10.233,9.90726
+accelerometer: 13231381067,-6.51541,-10.6738,10.3672
+accelerometer: 13231400995,-4.17753,-9.33237,6.89867
+accelerometer: 13231421014,-0.689867,-5.74889,7.64602
+accelerometer: 13231440973,0.306608,-4.36916,9.42818
+accelerometer: 13231461054,0.0574889,-2.7403,10.4438
+accelerometer: 13231480798,0.249119,-1.32224,10.5396
+accelerometer: 13231500910,-0.134141,-0.938986,9.12157
+accelerometer: 13231520960,-0.574889,0,7.99096
+accelerometer: 13231540918,4.79074,0.249119,8.02928
+accelerometer: 13231560938,0,0.938986,8.20175
+accelerometer: 13231580927,0.613215,0.0766519,8.96827
+accelerometer: 13231600885,1.05396,-0.440748,9.54316
+accelerometer: 13231620935,0.766519,0.229956,9.17906
+accelerometer: 13231640924,0.555726,-0.114978,9.63897
+accelerometer: 13231661005,0.459911,-0.153304,10.6354
+accelerometer: 13231680963,0.0958148,-0.881497,10.8654
+accelerometer: 13231700922,-0.114978,-1.47555,10.6354
+accelerometer: 13231720972,-0.249119,-2.20374,10.3097
+accelerometer: 13231740930,-0.19163,-2.35705,10.9612
+accelerometer: 13231760950,-0.383259,-1.97379,10.5013
+accelerometer: 13231780817,-0.862334,-2.03127,9.6773
+accelerometer: 13231800806,-0.594052,-1.45639,9.75395
+accelerometer: 13231820795,-0.651541,-1.36057,9.63897
+accelerometer: 13231840845,-0.5174,-1.16894,9.23655
+accelerometer: 13231860803,-0.0574889,-0.977311,9.10241
+accelerometer: 13231880823,4.73325,-1.28392,9.46651
+irProximity:13231900327,0.290196
+accelerometer: 13231900781,-0.594052,-1.26476,9.6773
+accelerometer: 13231920923,-0.153304,-1.07313,9.21739
+accelerometer: 13231940973,-0.287445,-0.824008,9.48567
+accelerometer: 13231960962,-0.0766519,-1.22643,10.2905
+accelerometer: 13231980920,-0.249119,-1.09229,10.2139
+accelerometer: 13232001032,-0.172467,-1.20727,9.88809
+accelerometer: 13232020929,0.134141,-0.881497,9.50483
+accelerometer: 13232040918,-0.210793,-0.459911,9.17906
+accelerometer: 13232060968,0.249119,-0.689867,9.19823
+accelerometer: 13232080927,0.0958148,-1.11145,9.88809
+accelerometer: 13232101068,0.114978,-1.26476,9.44734
+accelerometer: 13232120966,0.0766519,-0.728193,9.48567
+accelerometer: 13232140955,0.287445,-0.594052,9.524
+accelerometer: 13232160974,0.536563,-0.632378,9.61981
+accelerometer: 13232181085,0.364096,-0.670704,9.21739
+accelerometer: 13232200556,0.134141,-0.383259,8.73831
+accelerometer: 13232220758,0.306608,-0.536563,9.60065
+accelerometer: 13232240961,0.555726,-0.689867,9.60065
+accelerometer: 13232260919,0.651541,-0.555726,9.40902
+accelerometer: 13232281152,0.479074,-0.479074,9.44734
+accelerometer: 13232300714,0.594052,-0.785682,9.46651
+accelerometer: 13232320917,0.229956,-0.766519,9.65814
+accelerometer: 13232340967,0.574889,-0.479074,9.21739
+accelerometer: 13232360956,0.5174,-0.594052,9.77311
+accelerometer: 13232380945,0.344933,-0.632378,9.73479
+accelerometer: 13232400751,0.153304,-0.536563,9.56232
+irProximity:13232404264,0.294118
+accelerometer: 13232420892,0.306608,-0.498237,9.48567
+accelerometer: 13232441004,0.364096,-0.498237,9.46651
+accelerometer: 13232460993,0.440748,-0.421585,9.37069
+accelerometer: 13232480951,0.172467,-0.344933,9.79228
+accelerometer: 13232500787,0.306608,-0.536563,9.58148
+accelerometer: 13232520899,0.0383259,-0.459911,9.48567
+accelerometer: 13232540949,0.287445,-0.536563,9.77311
+accelerometer: 13232560968,0.383259,-0.574889,9.46651
+accelerometer: 13232580988,0.172467,-0.383259,9.50483
+accelerometer: 13232600794,0.0383259,-0.440748,9.54316
+accelerometer: 13232620935,0.134141,-0.364096,9.73479
+accelerometer: 13232640924,0.306608,-0.574889,9.61981
+accelerometer: 13232660974,0.287445,-0.632378,9.17906
+accelerometer: 13232680933,-0.594052,-0.594052,8.92994
+accelerometer: 13232700800,-0.689867,-0.0958148,9.42818
+irProximity:13232706907,0.290196
+accelerometer: 13232720941,0.268282,-0.670704,9.58148
+accelerometer: 13232740930,0.153304,-0.459911,9.88809
+accelerometer: 13232761011,0.229956,-0.536563,10.2905
+accelerometer: 13232780908,0.32577,-0.613215,9.96474
+accelerometer: 13232800806,0.383259,-0.268282,9.8306
+irProximity:13232807828,0.294118
+accelerometer: 13232820551,0.019163,-0.114978,9.84977
+accelerometer: 13232840845,-0.0383259,0.0383259,9.60065
+accelerometer: 13232860773,-0.766519,-0.0383259,9.1599
+accelerometer: 13232880792,-4.75242,-0.5174,8.47003
+accelerometer: 13232900781,0,-0.114978,9.77311
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat
new file mode 100644
index 0000000000..a4360a7dfd
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat
@@ -0,0 +1,196 @@
+orientation:14224200525,5
+accelerometer: 14226290643,0.785682,1.49409e-39,9.04492
+accelerometer: 14226310632,0.459911,-0.632378,9.3132
+accelerometer: 14226330530,0.574889,-0.632378,9.46651
+accelerometer: 14226350671,-0.0766519,-0.536563,9.98391
+accelerometer: 14226370569,-0.459911,0.0383259,10.7313
+accelerometer: 14226390558,-0.306608,-0.287445,9.77311
+accelerometer: 14226418176,-0.0383259,4.80991,8.94911
+accelerometer: 14226430566,-0.0383259,0.574889,8.94911
+irProximity:14226432156,0.290196
+accelerometer: 14226450556,-0.287445,-0.229956,9.38986
+accelerometer: 14226470575,-0.229956,-0.344933,9.35153
+proximity:14226489895,0
+accelerometer: 14226490717,0.153304,-0.32577,9.17906
+accelerometer: 14226510675,0.574889,-0.364096,9.50483
+accelerometer: 14226530573,0.19163,-0.670704,10.1755
+accelerometer: 14226550684,-0.0766519,-0.747356,10.4821
+accelerometer: 14226570703,0.383259,-0.0766519,10.5205
+accelerometer: 14226590723,0.114978,0.344933,9.6773
+accelerometer: 14226610559,0.440748,0.594052,10.3097
+accelerometer: 14226630579,0.459911,-0.728193,10.1564
+accelerometer: 14226650568,-0.229956,-0.0958148,10.1755
+accelerometer: 14226670740,0,-0.0383259,9.50483
+accelerometer: 14226690668,-0.421585,0.114978,9.02576
+accelerometer: 14226710809,-0.479074,0.19163,9.02576
+accelerometer: 14226730615,-0.574889,0,9.06409
+accelerometer: 14226750635,-0.364096,-0.0383259,9.17906
+accelerometer: 14226770593,-0.440748,0.019163,9.06409
+accelerometer: 14226790674,-0.459911,0.0766519,9.38986
+accelerometer: 14226810724,-0.210793,0.0383259,9.8306
+accelerometer: 14226830682,-0.134141,0.134141,9.81144
+accelerometer: 14226850794,-0.32577,0.0766519,9.79228
+accelerometer: 14226870813,-0.364096,0,9.6773
+accelerometer: 14226890833,-0.32577,-0.344933,9.69646
+accelerometer: 14226910974,-0.440748,-0.344933,9.524
+accelerometer: 14226930780,-0.32577,-0.287445,9.6773
+accelerometer: 14226950922,-0.287445,-0.306608,9.60065
+accelerometer: 14226970972,-0.268282,-0.0574889,9.56232
+accelerometer: 14226990839,4.75242,-0.0383259,9.58148
+accelerometer: 14227010889,0.306608,-0.114978,9.79228
+accelerometer: 14227030817,0.019163,-0.210793,9.48567
+accelerometer: 14227050928,-0.19163,0.019163,9.42818
+accelerometer: 14227070978,-0.153304,-0.114978,9.21739
+accelerometer: 14227090967,-0.287445,-4.88656,9.1599
+accelerometer: 14227110986,-0.287445,-0.19163,9.23655
+accelerometer: 14227130823,-0.210793,0.0383259,9.63897
+accelerometer: 14227150934,-0.268282,0.229956,9.69646
+accelerometer: 14227170923,-0.287445,-4.86739,9.88809
+accelerometer: 14227190942,-0.19163,-0.019163,9.94558
+accelerometer: 14227210901,-0.0958148,-0.306608,9.75395
+accelerometer: 14227230859,-0.306608,-0.364096,9.61981
+irProximity:14227237728,0.294118
+accelerometer: 14227250971,-0.268282,-0.5174,9.71563
+accelerometer: 14227270960,0.019163,-0.19163,9.56232
+accelerometer: 14227290949,0.019163,-0.0574889,9.48567
+accelerometer: 14227310968,0.32577,-0.114978,9.73479
+accelerometer: 14227330805,0.287445,-0.306608,9.524
+irProximity:14227338680,0.290196
+accelerometer: 14227351038,0.32577,-0.383259,9.6773
+accelerometer: 14227370996,0.249119,-0.0766519,9.56232
+accelerometer: 14227390955,0.440748,-0.249119,9.54316
+accelerometer: 14227411005,0.306608,0.0766519,9.79228
+accelerometer: 14227430780,-0.402422,0.958148,9.79228
+accelerometer: 14227450891,-3.75594,4.23502,10.5971
+accelerometer: 14227470850,-17.1125,10.5205,13.4332
+accelerometer: 14227490930,-31.1398,-0.114978,15.3495
+accelerometer: 14227511347,-35.2024,-17.8599,15.1196
+accelerometer: 14227531549,-20.3127,-25.3909,12.3984
+accelerometer: 14227550775,13.165,-11.7469,11.6894
+accelerometer: 14227570978,39.2266,1.9163,13.2416
+accelerometer: 14227590967,39.2266,4.6566,21.3475
+accelerometer: 14227610803,39.2266,1.74383,11.6319
+accelerometer: 14227630823,39.2074,4.6566,6.89867
+accelerometer: 14227650995,27.0006,1.3989,3.69845
+accelerometer: 14227671014,11.6894,-9.19823,6.97532
+accelerometer: 14227691095,-10.7504,-16.7676,9.71563
+accelerometer: 14227711725,-38.92,-14.5639,14.4872
+accelerometer: 14227732202,-39.2458,-17.8982,19.3354
+irProximity:14227742184,0.294118
+accelerometer: 14227751917,-39.2458,-25.8892,20.2361
+accelerometer: 14227770837,-39.2458,-27.8246,14.4872
+accelerometer: 14227790796,-22.0374,-22.9572,5.21233
+accelerometer: 14227810846,22.9381,-7.87598,10.3097
+accelerometer: 14227830835,39.2266,7.2436,16.576
+accelerometer: 14227850824,39.2266,10.9804,27.4222
+accelerometer: 14227870691,39.2266,4.48413,21.9224
+accelerometer: 14227890741,39.2266,-0.32577,10.8462
+accelerometer: 14227910608,26.5407,-2.587,2.39537
+accelerometer: 14227930780,-3.92841,-9.48567,1.22643
+irProximity:14227943783,0.290196
+accelerometer: 14227950769,-39.2458,-3.2577,7.79933
+accelerometer: 14227970789,-39.2458,-22.2865,24.2412
+accelerometer: 14227990808,-39.2458,-31.3123,29.7409
+accelerometer: 14228010767,-39.2458,-30.1625,20.3894
+accelerometer: 14228030786,-4.08171,-22.5548,11.8619
+accelerometer: 14228050928,39.2266,-10.7696,10.1564
+accelerometer: 14228070978,39.2266,0.287445,17.17
+accelerometer: 14228090997,39.2266,1.64802,15.6753
+orientation:14228090997,4
+accelerometer: 14228110986,39.2266,-0.172467,9.3132
+accelerometer: 14228131006,39.2266,-0.421585,2.51035
+irProximity:14228145138,0.294118
+accelerometer: 14228150964,21.405,-7.4544,2.49119
+accelerometer: 14228171076,-10.9612,-12.3218,6.13215
+accelerometer: 14228191004,-39.2458,-12.7434,16.1544
+accelerometer: 14228210718,-39.2458,-25.161,28.1696
+accelerometer: 14228230524,-39.2458,-34.0526,27.4605
+irProximity:14228245907,0.290196
+accelerometer: 14228250787,-39.2458,-29.5493,19.5654
+accelerometer: 14228270807,-6.45792,-21.8841,9.3132
+accelerometer: 14228290827,34.34,-12.935,9.84977
+accelerometer: 14228310816,39.2266,-2.56784,18.2815
+accelerometer: 14228330805,39.2266,0.689867,19.8912
+accelerometer: 14228350824,39.2266,-1.07313,14.3147
+accelerometer: 14228370813,26.0425,1.82048,5.55726
+accelerometer: 14228390955,8.06761,5.55726,2.62533
+accelerometer: 14228411005,-6.87951,4.06255,6.49625
+accelerometer: 14228430841,-14.9663,-2.0696,10.7121
+irProximity:14228447414,0.294118
+accelerometer: 14228450952,-14.6788,-5.88303,12.2643
+accelerometer: 14228470789,-11.7277,-5.26982,11.4211
+accelerometer: 14228490991,-7.22444,-2.31872,10.3097
+accelerometer: 14228510980,-2.75947,0.958148,8.87245
+accelerometer: 14228531030,-1.53304,1.78216,8.52752
+orientation:14228531030,5
+irProximity:14228548183,0.290196
+accelerometer: 14228550745,-0.977311,1.34141,7.93347
+accelerometer: 14228570551,-1.45639,1.13062,8.45087
+accelerometer: 14228590814,-0.843171,0.0766519,8.45087
+accelerometer: 14228610986,-1.82048,0.632378,9.79228
+accelerometer: 14228630945,-0.613215,1.07313,9.65814
+accelerometer: 14228650934,-0.114978,1.13062,9.63897
+accelerometer: 14228670923,1.36057,0.862334,10.118
+accelerometer: 14228690942,1.66718,1.53304,10.7888
+accelerometer: 14228710901,0.996474,1.82048,10.118
+accelerometer: 14228730920,0.19163,2.77863,9.75395
+accelerometer: 14228750971,0.249119,1.7055,9.46651
+accelerometer: 14228770807,0.287445,0.785682,9.33237
+accelerometer: 14228790827,0.0574889,-0.19163,9.37069
+accelerometer: 14228810846,0.766519,-0.747356,9.94558
+accelerometer: 14228830805,0.938986,-0.32577,10.0606
+accelerometer: 14228850946,0.306608,0.134141,9.60065
+accelerometer: 14228870813,-0.229956,0.364096,9.40902
+accelerometer: 14228890833,0.0958148,0,9.71563
+accelerometer: 14228910944,0.613215,-0.364096,9.63897
+accelerometer: 14228930963,1.47555,-0.689867,9.54316
+accelerometer: 14228950922,1.93546,-0.249119,9.92642
+accelerometer: 14228970941,1.53304,0.498237,10.6354
+accelerometer: 14228990778,2.20374,0.613215,10.9037
+accelerometer: 14229010950,2.24207,-0.249119,10.118
+accelerometer: 14229030969,1.16894,-0.938986,9.38986
+accelerometer: 14229050897,0.70903,-0.70903,9.84977
+accelerometer: 14229070947,1.11145,-0.613215,10.1564
+accelerometer: 14229090967,0.785682,-0.0383259,10.0989
+accelerometer: 14229110956,0.70903,0.19163,9.69646
+accelerometer: 14229130945,0.364096,-0.306608,9.17906
+accelerometer: 14229150720,0.229956,-0.383259,9.50483
+accelerometer: 14229170923,0.670704,-0.728193,9.56232
+accelerometer: 14229190973,0.383259,-0.383259,9.50483
+accelerometer: 14229210931,0,-0.0958148,9.27488
+accelerometer: 14229230951,0.0383259,-0.306608,9.33237
+accelerometer: 14229250787,0.268282,-0.172467,9.0066
+accelerometer: 14229270960,0.114978,-0.249119,9.50483
+accelerometer: 14229290949,0.0958148,-0.19163,9.60065
+accelerometer: 14229310968,0.32577,-0.383259,9.42818
+accelerometer: 14229330988,-0.153304,4.77158,9.58148
+accelerometer: 14229350824,0.287445,-0.536563,9.63897
+accelerometer: 14229370935,0.134141,-0.364096,9.46651
+accelerometer: 14229390955,-0.0766519,-0.459911,9.29404
+accelerometer: 14229410944,0.0766519,-0.306608,9.77311
+accelerometer: 14229430780,0.32577,-0.306608,9.73479
+accelerometer: 14229450830,0.364096,-0.249119,9.65814
+accelerometer: 14229470850,0.383259,-0.019163,9.75395
+accelerometer: 14229490930,0.632378,-0.383259,9.63897
+accelerometer: 14229510950,0.19163,-0.0383259,9.54316
+accelerometer: 14229530969,0.210793,-0.019163,9.46651
+accelerometer: 14229550836,0.229956,-0.019163,9.54316
+accelerometer: 14229570978,0.0766519,-0.459911,9.33237
+accelerometer: 14229590967,0.32577,-0.32577,9.71563
+accelerometer: 14229610956,0,-0.249119,10.0414
+accelerometer: 14229631006,-0.019163,0.19163,9.79228
+accelerometer: 14229650781,0.210793,-0.574889,9.48567
+accelerometer: 14229673364,-0.306608,-0.555726,8.83413
+accelerometer: 14229690973,-0.19163,-0.229956,9.19823
+accelerometer: 14229710993,4.73325,-0.268282,9.44734
+accelerometer: 14229730920,0.0383259,-0.287445,9.73479
+accelerometer: 14229750879,0.0958148,-0.536563,9.65814
+accelerometer: 14229770624,0.019163,-0.555726,9.96474
+accelerometer: 14229790552,0.114978,-0.574889,9.96474
+accelerometer: 14229810816,0.229956,-0.459911,10.2139
+accelerometer: 14229830805,0.0766519,-0.555726,10.2139
+accelerometer: 14229850794,0.153304,-0.383259,9.73479
+accelerometer: 14229870783,-0.613215,0.229956,9.92642
+accelerometer: 14229890802,-0.402422,-0.594052,9.14074
+accelerometer: 14229910822,-0.0766519,-0.383259,8.69999
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat
new file mode 100644
index 0000000000..0558be5c24
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat
@@ -0,0 +1,157 @@
+orientation:12976390955,5
+accelerometer: 13000540674,-1.07313,0.306608,9.19823
+accelerometer: 13000560907,-1.11145,0.632378,9.61981
+accelerometer: 13000580957,-1.22643,0.114978,9.58148
+irProximity:13000597149,0.290196
+proximity:13000600537,0
+accelerometer: 13000601434,-1.3989,0.287445,9.524
+accelerometer: 13000620996,-1.24559,0.114978,9.61981
+accelerometer: 13000640955,-1.24559,0.344933,9.60065
+accelerometer: 13000660974,-1.24559,0.402422,9.50483
+accelerometer: 13000680933,-1.1881,0.498237,9.44734
+accelerometer: 13000701044,-0.958148,0.5174,9.27488
+accelerometer: 13000720972,-0.383259,0.0383259,9.21739
+accelerometer: 13000740961,-1.20727,0.459911,9.79228
+accelerometer: 13000760767,-1.01564,0.210793,9.79228
+accelerometer: 13000780817,-0.862334,0.421585,9.23655
+accelerometer: 13000800958,-1.0348,0.498237,9.23655
+accelerometer: 13000820795,-0.996474,0.32577,9.06409
+accelerometer: 13000840845,-1.09229,0.5174,8.87245
+accelerometer: 13000860773,-1.3989,-4.71409,9.65814
+accelerometer: 13000880792,-0.574889,-0.651541,10.7121
+accelerometer: 13000900568,-1.74383,0.134141,11.8236
+irProximity:13000901959,0.294118
+accelerometer: 13000920953,-1.82048,3.27687,8.18259
+accelerometer: 13000941003,-1.3989,1.01564,8.94911
+accelerometer: 13000960931,-1.57136,1.49471,9.04492
+accelerometer: 13000980920,-1.97379,0.19163,9.19823
+accelerometer: 13001002283,-2.16542,0.938986,9.54316
+accelerometer: 13001020990,-1.95462,1.74383,9.75395
+accelerometer: 13001040918,-1.59053,0.766519,9.42818
+accelerometer: 13001060938,-1.66718,0.574889,9.46651
+accelerometer: 13001080957,-1.37973,0.306608,9.08325
+accelerometer: 13001100763,-0.153304,1.22643,8.39338
+irProximity:13001103894,0.290196
+accelerometer: 13001120966,1.85881,0.479074,10.3288
+accelerometer: 13001140955,6.59206,-0.306608,12.5517
+accelerometer: 13001160944,14.1806,-1.09229,13.0883
+accelerometer: 13001180933,18.1282,-4.38832,16.4227
+accelerometer: 13001200769,17.8599,-5.72973,15.4645
+accelerometer: 13001220941,12.5517,-6.80285,13.6632
+accelerometer: 13001240961,-0.5174,-5.5381,8.56585
+accelerometer: 13001260919,-32.4046,3.43017,4.40748
+accelerometer: 13001280817,-39.2458,10.1372,7.761
+accelerometer: 13001300775,-39.2458,4.34999,14.1423
+accelerometer: 13001320947,-39.2458,-6.07466,16.1735
+accelerometer: 13001340967,-16.5185,-8.16343,13.0117
+accelerometer: 13001360925,14.2381,-9.06409,14.6788
+accelerometer: 13001381006,37.2911,-5.94052,11.8427
+accelerometer: 13001400781,39.2266,-0.479074,13.9506
+accelerometer: 13001420892,39.2266,-0.0766519,14.9471
+orientation:13001420892,4
+accelerometer: 13001441003,37.1187,-5.55726,11.4403
+accelerometer: 13001460931,23.8962,-8.98743,9.35153
+accelerometer: 13001480982,9.1599,-10.9995,8.62334
+accelerometer: 13001500787,-13.8357,-10.9995,8.33589
+accelerometer: 13001520990,-38.5559,7.01365,8.4892
+accelerometer: 13001540979,-39.2458,-0.114978,11.0379
+accelerometer: 13001560968,-39.2458,-9.6773,14.9854
+accelerometer: 13001580988,-39.2458,-13.3758,10.2714
+accelerometer: 13001600641,-15.8095,-15.0621,10.8462
+accelerometer: 13001620630,25.4676,-10.5588,17.1125
+accelerometer: 13001640833,39.2266,1.28392,24.4328
+accelerometer: 13001661005,39.2266,7.72268,25.3909
+accelerometer: 13001680933,39.2266,2.18458,21.1368
+accelerometer: 13001700769,32.6729,-5.72973,13.0691
+accelerometer: 13001720941,15.6561,-8.89162,7.58854
+accelerometer: 13001740930,-4.5033,-10.6163,3.31519
+accelerometer: 13001760706,-39.2458,-4.15836,0.70903
+accelerometer: 13001781000,-39.2458,-0.19163,5.86387
+accelerometer: 13001801569,-39.2458,-7.99096,13.3374
+accelerometer: 13001820734,-39.2458,-10.9804,16.3269
+accelerometer: 13001840814,-17.4575,-12.1493,14.6213
+accelerometer: 13001860803,16.2502,-8.69999,16.1927
+accelerometer: 13001880914,39.2266,8.41254,32.1938
+accelerometer: 13001900781,39.2266,6.66871,17.2083
+accelerometer: 13001920923,39.2266,3.29603,21.405
+accelerometer: 13001940973,37.3678,-2.14625,10.5013
+accelerometer: 13001960962,20.102,-8.98743,9.50483
+accelerometer: 13001980951,1.09229,-10.7696,7.26277
+accelerometer: 13002000971,-23.8196,-7.01365,5.34647
+irProximity:13002011944,0.294118
+accelerometer: 13002020960,-39.2458,-2.10793,7.35858
+accelerometer: 13002040949,-39.2458,-6.22797,12.82
+accelerometer: 13002060999,-39.2458,-10.7888,16.2885
+accelerometer: 13002080988,-28.0163,-9.79228,13.9506
+accelerometer: 13002100946,-1.72467,-5.49977,13.0117
+irProximity:13002112744,0.290196
+accelerometer: 13002120966,19.4887,0.459911,14.0656
+accelerometer: 13002140924,25.5059,4.59911,13.7015
+accelerometer: 13002160944,22.4015,3.75594,13.2608
+accelerometer: 13002181055,15.5028,1.66718,10.8846
+accelerometer: 13002200983,8.81497,-0.0574889,9.21739
+irProximity:13002213543,0.294118
+accelerometer: 13002221002,3.6218,-0.210793,6.78369
+accelerometer: 13002240930,0.479074,1.66718,6.17048
+accelerometer: 13002260950,-1.01564,1.74383,7.6077
+orientation:13002260950,5
+accelerometer: 13002281030,-2.75947,1.34141,9.3132
+accelerometer: 13002300958,-3.58348,0.70903,10.6546
+accelerometer: 13002320917,-3.2577,0.019163,11.3636
+accelerometer: 13002340936,-2.93193,0.651541,11.1145
+accelerometer: 13002360986,-2.587,0.268282,9.96474
+accelerometer: 13002380975,-2.18458,0.229956,9.69646
+accelerometer: 13002400934,-1.20727,0.785682,10.2139
+accelerometer: 13002420862,-0.689867,0.919823,9.65814
+accelerometer: 13002440942,-0.766519,0.594052,9.29404
+accelerometer: 13002460901,-0.881497,0.594052,9.77311
+accelerometer: 13002480982,-1.22643,0.210793,9.69646
+accelerometer: 13002500971,-1.07313,0.383259,9.17906
+irProximity:13002515942,0.290196
+accelerometer: 13002520960,-1.34141,0.498237,9.38986
+accelerometer: 13002540918,-1.36057,0.479074,9.33237
+accelerometer: 13002560938,-1.32224,1.01564,9.37069
+accelerometer: 13002581018,-0.919823,0.32577,9.44734
+accelerometer: 13002600916,-0.785682,0.421585,9.75395
+accelerometer: 13002620905,-0.977311,0.249119,9.33237
+accelerometer: 13002640955,-1.09229,0.268282,9.50483
+accelerometer: 13002661005,-1.05396,-0.0958148,9.63897
+accelerometer: 13002680933,-1.3989,-0.134141,9.88809
+accelerometer: 13002700983,-1.53304,-0.364096,9.86893
+accelerometer: 13002720880,-1.62885,-0.0958148,9.61981
+accelerometer: 13002740900,-1.72467,-0.19163,9.60065
+accelerometer: 13002760828,-1.68634,-0.383259,9.38986
+accelerometer: 13002780969,-1.60969,-0.0766519,9.14074
+accelerometer: 13002800806,-1.37973,0.0958148,9.17906
+accelerometer: 13002820825,-1.14978,0.210793,9.42818
+accelerometer: 13002840814,-1.11145,-0.0574889,9.08325
+accelerometer: 13002860803,-1.01564,-0.0383259,9.21739
+accelerometer: 13002880853,-0.785682,-0.0766519,9.02576
+accelerometer: 13002900964,-0.881497,0.114978,9.63897
+irProximity:13002918926,0.294118
+accelerometer: 13002920984,-0.824008,-0.210793,9.81144
+accelerometer: 13002940973,-1.0348,-0.0574889,9.48567
+accelerometer: 13002960962,-1.14978,4.73325,9.524
+accelerometer: 13002980951,-0.996474,0.0958148,9.77311
+accelerometer: 13003001001,-1.07313,-0.114978,9.63897
+irProximity:13003019726,0.290196
+accelerometer: 13003020990,-0.977311,0,9.25571
+accelerometer: 13003040949,-1.16894,0.0383259,9.63897
+accelerometer: 13003060999,-1.09229,0.114978,9.6773
+accelerometer: 13003080927,-0.938986,0.0574889,9.6773
+accelerometer: 13003100946,-0.594052,0.402422,9.524
+accelerometer: 13003121057,-0.996474,-0.268282,9.42818
+accelerometer: 13003140894,-1.97379,-0.229956,8.33589
+accelerometer: 13003161005,-1.5522,-0.134141,8.85329
+accelerometer: 13003181024,-0.90066,0.229956,10.0797
+accelerometer: 13003201013,-1.05396,0.19163,9.42818
+accelerometer: 13003221063,-0.594052,-0.019163,9.61981
+accelerometer: 13003241144,-1.01564,0.210793,10.1755
+accelerometer: 13003260645,-0.747356,-0.0766519,10.2139
+accelerometer: 13003280756,-0.804845,-0.0958148,9.84977
+accelerometer: 13003300806,-0.804845,-0.134141,9.69646
+accelerometer: 13003320856,-0.728193,0.249119,9.6773
+accelerometer: 13003340814,-1.01564,0.268282,9.25571
+accelerometer: 13003360803,-1.05396,0.134141,9.02576
+accelerometer: 13003380823,-0.594052,0.134141,9.63897
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat
new file mode 100644
index 0000000000..f2ae47d6ed
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat
@@ -0,0 +1,228 @@
+orientation:13221790765,5
+accelerometer: 13223252588,-1.57136,0.862334,9.14074
+accelerometer: 13223270960,-0.996474,0.574889,9.17906
+accelerometer: 13223290949,-1.47555,0.555726,9.44734
+irProximity:13223310423,0.290196
+accelerometer: 13223311029,-1.24559,0.938986,9.08325
+proximity:13223316618,0
+accelerometer: 13223330957,-1.30308,0.804845,9.63897
+accelerometer: 13223350916,-1.32224,1.0348,9.63897
+accelerometer: 13223370966,-0.632378,0.594052,9.60065
+accelerometer: 13223390955,-0.498237,0.498237,9.54316
+accelerometer: 13223410700,-0.536563,0.747356,9.69646
+accelerometer: 13223430902,0.0958148,0.536563,9.27488
+accelerometer: 13223450891,0.0574889,0.153304,8.73831
+accelerometer: 13223470758,-0.919823,0.689867,8.35505
+accelerometer: 13223490900,-0.479074,0.613215,9.94558
+accelerometer: 13223510767,-0.498237,0.19163,8.39338
+accelerometer: 13223530939,-0.479074,1.72467,9.1599
+accelerometer: 13223550958,-1.87797,1.76299,9.42818
+accelerometer: 13223570947,-1.53304,2.10793,8.68083
+accelerometer: 13223590997,-0.249119,0.881497,7.62686
+accelerometer: 13223610803,0.0766519,1.09229,6.2088
+accelerometer: 13223630914,-0.0766519,4.38832,15.407
+accelerometer: 13223650964,-0.747356,3.81343,11.881
+accelerometer: 13223670923,0.0574889,1.41806,9.63897
+accelerometer: 13223690942,-1.13062,3.29603,9.1599
+accelerometer: 13223710779,-0.268282,6.13215,8.77664
+irProximity:13223714994,0.294118
+accelerometer: 13223730920,0.268282,-0.402422,10.3863
+accelerometer: 13223750971,0.210793,0.804845,9.08325
+accelerometer: 13223770929,-0.536563,1.68634,9.54316
+accelerometer: 13223790826,0.153304,0.402422,9.88809
+accelerometer: 13223810816,0.229956,1.43722,9.8306
+irProximity:13223815702,0.290196
+accelerometer: 13223830835,-0.0958148,1.05396,9.19823
+accelerometer: 13223850794,-0.249119,0.594052,8.68083
+accelerometer: 13223870783,0.210793,0.421585,8.96827
+accelerometer: 13223890833,-0.19163,0.440748,9.02576
+accelerometer: 13223910822,-0.249119,0.440748,9.75395
+accelerometer: 13223930750,-0.0958148,0.766519,9.42818
+accelerometer: 13223950922,-0.0574889,0.632378,8.6425
+accelerometer: 13223970941,4.79074,0.574889,9.92642
+accelerometer: 13223990778,0.344933,0.70903,9.84977
+accelerometer: 13224010797,0.32577,0.824008,9.33237
+irProximity:13224017393,0.294118
+accelerometer: 13224030969,-0.0383259,0.824008,9.46651
+accelerometer: 13224050928,0.536563,0.90066,9.50483
+accelerometer: 13224070917,0.210793,0.70903,9.63897
+accelerometer: 13224090997,0.440748,0.498237,9.1599
+accelerometer: 13224110803,0.632378,1.47555,9.6773
+irProximity:13224118284,0.290196
+accelerometer: 13224130975,0.804845,0.402422,9.84977
+accelerometer: 13224150964,0.574889,0.383259,9.524
+accelerometer: 13224171014,0.536563,0.843171,9.50483
+accelerometer: 13224190942,0.229956,0.613215,9.77311
+accelerometer: 13224210809,0.019163,0.5174,9.94558
+accelerometer: 13224230890,0.134141,0.574889,9.79228
+accelerometer: 13224250940,-0.134141,0.459911,9.40902
+accelerometer: 13224270990,-0.306608,0.670704,9.33237
+accelerometer: 13224290918,-0.32577,0.536563,9.71563
+accelerometer: 13224310785,0.229956,-2.18458,9.23655
+irProximity:13224320066,0.294118
+accelerometer: 13224330927,0.402422,-1.11145,9.38986
+accelerometer: 13224350916,-0.287445,0.5174,9.61981
+accelerometer: 13224370935,0.421585,1.60969,10.1372
+accelerometer: 13224390802,0.977311,1.87797,10.3863
+accelerometer: 13224410761,0.785682,1.95462,10.233
+accelerometer: 13224430872,0.479074,0.019163,9.81144
+accelerometer: 13224450891,-0.0574889,0.766519,9.29404
+accelerometer: 13224470819,-0.32577,0.689867,9.40902
+accelerometer: 13224490900,-0.229956,0.919823,9.02576
+accelerometer: 13224510919,0.19163,0.459911,9.63897
+accelerometer: 13224530908,0.153304,0.459911,9.60065
+accelerometer: 13224550928,-0.0574889,0.210793,9.54316
+accelerometer: 13224570978,0.153304,0.498237,9.81144
+accelerometer: 13224590997,0.229956,0.268282,9.96474
+accelerometer: 13224610986,0.134141,0.32577,9.73479
+irProximity:13224622526,0.290196
+accelerometer: 13224630975,0.0574889,0.32577,9.50483
+accelerometer: 13224650995,0.268282,0.766519,10.0797
+accelerometer: 13224670984,0.383259,0.498237,10.5396
+accelerometer: 13224690942,0.32577,0.613215,10.0797
+accelerometer: 13224710931,0.843171,0.364096,10.0414
+irProximity:13224723356,0.294118
+accelerometer: 13224730920,0.651541,0.402422,9.98391
+accelerometer: 13224750940,0.0383259,0.153304,9.86893
+accelerometer: 13224770837,0.249119,0.19163,10.0222
+accelerometer: 13224790796,0.134141,0.0383259,9.60065
+accelerometer: 13224810816,0.019163,-0.229956,9.84977
+accelerometer: 13224830805,-0.344933,-0.344933,9.3132
+accelerometer: 13224850794,-0.459911,-0.383259,9.79228
+accelerometer: 13224870783,-0.249119,-0.172467,9.60065
+accelerometer: 13224890802,-0.574889,-0.0574889,9.1599
+accelerometer: 13224910791,-0.268282,1.11145,9.524
+accelerometer: 13224930963,0.229956,4.63744,10.2714
+accelerometer: 13224950952,-0.5174,12.9542,11.881
+accelerometer: 13224970972,-1.76299,28.3037,13.6249
+accelerometer: 13224993433,-0.536563,37.157,13.9123
+accelerometer: 13225012933,2.18458,31.868,10.7121
+irProximity:13225025663,0.290196
+accelerometer: 13225030817,2.60616,17.3042,5.40396
+accelerometer: 13225050836,3.71762,-10.7696,6.43876
+accelerometer: 13225070795,10.1372,-39.2458,6.26629
+accelerometer: 13225090814,0.344933,-39.2458,21.6733
+accelerometer: 13225110803,-3.16189,-39.2458,14.0081
+accelerometer: 13225130853,11.6319,-28.0163,-12.8584
+accelerometer: 13225150995,11.2295,-6.63039,-4.06255
+accelerometer: 13225170984,7.47356,2.47202,2.12709
+accelerometer: 13225191004,3.83259,16.9401,3.81343
+accelerometer: 13225210993,2.28039,33.6693,6.24713
+irProximity:13225226896,0.294118
+accelerometer: 13225230982,7.30109,39.2266,9.75395
+accelerometer: 13225252191,11.6319,39.2266,7.41607
+accelerometer: 13225270929,11.3636,39.2266,2.587
+accelerometer: 13225290827,5.36563,35.1832,-1.62885
+accelerometer: 13225310846,-1.05396,9.12157,-3.87092
+irProximity:13225327665,0.290196
+accelerometer: 13225330682,-3.7751,-20.696,-1.47555
+accelerometer: 13225350702,12.0918,-39.2458,2.83612
+accelerometer: 13225370813,6.53457,-39.2458,38.5559
+accelerometer: 13225390802,10.9612,-39.2458,19.757
+accelerometer: 13225410822,19.2971,-21.1176,-10.578
+accelerometer: 13225430750,12.4559,-4.33083,-0.019163
+accelerometer: 13225450800,6.76453,8.18259,2.12709
+accelerometer: 13225470819,-2.52951,29.7601,1.93546
+accelerometer: 13225490991,-7.43523,39.2266,3.23854
+accelerometer: 13225510950,-3.67929,39.2266,2.587
+accelerometer: 13225530969,2.12709,39.2266,0.364096
+accelerometer: 13225550989,0.632378,39.2266,-0.70903
+orientation:13225550989,1
+accelerometer: 13225570764,-2.18458,16.1544,-1.49471
+accelerometer: 13225591058,-0.344933,-15.292,3.4685
+accelerometer: 13225610986,13.4907,-39.2458,9.69646
+irProximity:13225630125,0.294118
+accelerometer: 13225630914,11.3828,-39.2458,32.7687
+accelerometer: 13225651025,10.8079,-39.2458,30.8907
+orientation:13225651025,2
+accelerometer: 13225670923,19.0863,-23.5896,-11.0379
+accelerometer: 13225691034,13.3183,-1.16894,-4.38832
+accelerometer: 13225711023,5.49977,5.174,-1.49471
+irProximity:13225730589,0.290196
+accelerometer: 13225730646,-0.459911,11.3445,-0.268282
+accelerometer: 13225750818,-3.75594,14.1998,0.843171
+accelerometer: 13225770837,-2.587,15.522,2.91277
+accelerometer: 13225790827,-1.62885,15.2154,3.64096
+orientation:13225790827,1
+accelerometer: 13225810785,-1.80132,13.3949,2.87445
+irProximity:13225831510,0.294118
+accelerometer: 13225831079,-0.90066,10.8846,6.68788
+accelerometer: 13225850763,-0.421585,7.85682,8.96827
+accelerometer: 13225870813,-0.0766519,5.15484,9.75395
+accelerometer: 13225890802,0.440748,3.21938,10.2905
+orientation:13225890802,5
+accelerometer: 13225910791,0.919823,1.5522,11.3445
+accelerometer: 13225930689,0.996474,0.134141,12.1493
+irProximity:13225932798,0.290196
+accelerometer: 13225951013,0.383259,-0.0383259,11.2295
+accelerometer: 13225970972,0.0766519,0.019163,11.1528
+accelerometer: 13225990808,-0.287445,0.268282,11.7277
+accelerometer: 13226010980,-0.90066,0.459911,9.27488
+accelerometer: 13226030817,-0.536563,1.68634,9.29404
+accelerometer: 13226050958,0.0383259,0.824008,9.04492
+accelerometer: 13226070947,-0.0574889,0.421585,9.58148
+accelerometer: 13226090967,0.19163,0.632378,10.0989
+accelerometer: 13226110925,0.19163,0.210793,9.61981
+accelerometer: 13226130823,0.651541,-0.19163,9.6773
+accelerometer: 13226150903,0.958148,-0.70903,10.0606
+accelerometer: 13226171137,1.45639,-1.26476,10.9612
+accelerometer: 13226190942,0.958148,-1.83965,10.3672
+accelerometer: 13226210962,1.1881,-1.89713,10.233
+accelerometer: 13226230798,1.14978,-1.83965,10.1564
+accelerometer: 13226250940,1.5522,-1.43722,10.4055
+accelerometer: 13226270899,1.68634,-1.07313,10.7313
+accelerometer: 13226290918,1.51387,-1.7055,9.6773
+accelerometer: 13226310968,1.78216,-1.30308,9.40902
+accelerometer: 13226330743,1.37973,-1.80132,9.63897
+accelerometer: 13226350855,1.13062,-1.59053,10.0606
+accelerometer: 13226370905,0.785682,-1.34141,10.1947
+accelerometer: 13226390894,0.862334,-0.843171,10.1947
+accelerometer: 13226410974,0.689867,-0.824008,9.10241
+accelerometer: 13226430811,1.13062,-0.862334,8.98743
+accelerometer: 13226450861,1.28392,-1.01564,9.61981
+accelerometer: 13226470819,1.3989,-1.26476,10.4821
+accelerometer: 13226490930,1.09229,-0.728193,11.4978
+accelerometer: 13226510950,0.824008,-0.594052,10.5205
+accelerometer: 13226530817,0.5174,-0.977311,8.92994
+irProximity:13226538206,0.294118
+accelerometer: 13226550958,0.229956,-0.919823,7.761
+accelerometer: 13226570947,-1.1881,-0.19163,8.4892
+accelerometer: 13226590936,-0.632378,-0.574889,9.23655
+accelerometer: 13226610803,-0.383259,-0.824008,9.56232
+accelerometer: 13226631159,-0.344933,-0.555726,9.48567
+irProximity:13226639158,0.290196
+accelerometer: 13226650964,-0.421585,-0.632378,9.21739
+accelerometer: 13226670953,-0.344933,-0.632378,9.56232
+accelerometer: 13226690942,-0.19163,-0.459911,9.88809
+accelerometer: 13226710962,-0.0766519,-0.689867,9.79228
+accelerometer: 13226730768,-0.172467,-0.747356,9.50483
+irProximity:13226740079,0.294118
+accelerometer: 13226750940,-0.210793,-0.594052,9.37069
+accelerometer: 13226770837,-0.32577,0.0383259,9.77311
+accelerometer: 13226790765,-0.134141,-0.249119,9.88809
+accelerometer: 13226810785,0.229956,-0.249119,9.98391
+accelerometer: 13226831079,0.0383259,-0.134141,9.54316
+irProximity:13226840940,0.290196
+accelerometer: 13226850702,-0.402422,4.69493,9.50483
+accelerometer: 13226870752,-0.019163,-0.383259,9.50483
+accelerometer: 13226890802,-0.229956,-0.229956,9.65814
+accelerometer: 13226910852,-0.0574889,-0.5174,9.8306
+accelerometer: 13226930963,-0.19163,-0.19163,9.88809
+accelerometer: 13226950922,-0.019163,-0.306608,9.56232
+accelerometer: 13226970972,-0.229956,0.19163,10.0606
+accelerometer: 13226990778,-0.306608,-0.210793,9.48567
+accelerometer: 13227010858,-0.249119,-0.364096,9.48567
+accelerometer: 13227030786,0.134141,-0.498237,9.50483
+accelerometer: 13227050897,-0.651541,-0.574889,7.81849
+accelerometer: 13227070947,-0.421585,0.019163,9.44734
+accelerometer: 13227091028,-0.32577,0.210793,9.77311
+accelerometer: 13227110986,-0.210793,-0.344933,9.90726
+accelerometer: 13227131006,-0.689867,0.210793,10.0414
+accelerometer: 13227151025,-0.229956,-0.498237,10.0414
+accelerometer: 13227170984,-0.440748,-0.229956,10.1564
+accelerometer: 13227190790,-0.0383259,-0.210793,9.94558
+accelerometer: 13227210993,-0.268282,-0.0958148,9.81144
+accelerometer: 13227230585,-0.670704,0.306608,9.0066
+accelerometer: 13227250818,-1.16894,-0.114978,8.2784
+accelerometer: 13227270593,-0.459911,-0.153304,9.3132
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat
new file mode 100644
index 0000000000..0ec937c1e6
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat
@@ -0,0 +1,595 @@
+orientation:292851575,5
+irProximity:294683453,0.376471
+accelerometer: 294751325,-0.19163,4.31167,9.42818
+accelerometer: 294851270,0.0766519,4.44581,9.37069
+accelerometer: 294951276,0.938986,5.30814,8.31673
+accelerometer: 295051252,0.364096,5.48061,8.62334
+accelerometer: 295151227,-0.824008,5.86387,7.30109
+orientation:295251264,1
+accelerometer: 295251264,-1.95462,7.70351,5.90219
+accelerometer: 295351239,-0.172467,7.43523,6.36211
+accelerometer: 295451276,-0.5174,7.66519,7.01365
+accelerometer: 295551221,-0.229956,7.68435,5.40396
+accelerometer: 295651258,-0.843171,9.42818,4.31167
+accelerometer: 295751264,0.958148,9.46651,4.90572
+accelerometer: 295851026,1.37973,9.96474,3.71762
+accelerometer: 295951276,2.4337,10.4055,5.67224
+accelerometer: 296051282,0.843171,13.0691,5.23149
+accelerometer: 296151288,-0.19163,9.21739,4.69493
+accelerometer: 296251325,-0.747356,9.46651,2.98942
+accelerometer: 296351270,-0.651541,10.5971,1.16894
+accelerometer: 296451032,-1.64802,9.38986,1.22643
+accelerometer: 296551221,-5.6914,6.43876,0.383259
+orientation:296651227,3
+accelerometer: 296651227,-7.47356,4.59911,-0.249119
+accelerometer: 296751203,-6.99448,4.1392,-0.306608
+accelerometer: 296851331,-7.01365,1.41806,-0.229956
+accelerometer: 296951246,-12.8009,-38.92,4.54162
+accelerometer: 297051343,39.2266,-39.2458,38.7284
+accelerometer: 297151258,39.2266,-2.51035,33.037
+accelerometer: 297251264,15.2729,-2.83612,4.1392
+orientation:297351270,4
+accelerometer: 297351270,14.2956,-3.43017,3.52599
+accelerometer: 297451246,14.9854,1.59053,2.18458
+accelerometer: 297551221,12.1302,4.5033,2.28039
+accelerometer: 297651258,-0.785682,2.98942,-0.421585
+accelerometer: 297751264,-4.36916,2.98942,1.5522
+accelerometer: 297851239,-7.9718,2.01211,0.90066
+accelerometer: 297951032,-7.58854,6.86034,-1.20727
+orientation:298051191,1
+accelerometer: 298051191,-6.0555,8.56585,0.153304
+accelerometer: 298151288,-6.36211,7.2436,0.670704
+accelerometer: 298251233,-5.78722,7.6077,0.594052
+accelerometer: 298351331,-5.44228,8.18259,0.670704
+accelerometer: 298451246,-5.49977,8.31673,0.90066
+accelerometer: 298551191,-6.24713,7.81849,1.28392
+accelerometer: 298651227,-6.13215,7.58854,0.804845
+accelerometer: 298751294,-5.97885,7.58854,0.670704
+accelerometer: 298851239,-5.72973,7.79933,0.824008
+accelerometer: 298951337,-6.30462,8.2784,0.881497
+accelerometer: 299051221,-6.64955,7.72268,0.498237
+accelerometer: 299151227,-6.53457,7.14779,0.402422
+accelerometer: 299251264,-7.47356,1.28392,0.0574889
+accelerometer: 299351239,-7.56937,-5.95968,1.43722
+accelerometer: 299451246,-12.5901,-30.8524,13.7398
+accelerometer: 299551252,39.2266,-17.9174,-7.51188
+accelerometer: 299651258,15.1962,-5.25065,1.57136
+accelerometer: 299751264,22.7656,-1.47555,3.52599
+accelerometer: 299851239,18.3773,-0.881497,4.23502
+accelerometer: 299951276,3.43017,0.613215,1.72467
+accelerometer: 300051008,-2.35705,1.99295,0.268282
+accelerometer: 300151258,-5.67224,3.21938,-0.306608
+orientation:300251050,3
+accelerometer: 300251050,-7.22444,5.174,0
+accelerometer: 300351209,-5.67224,8.08677,0.229956
+orientation:300451337,1
+accelerometer: 300451337,-4.46497,9.14074,0.70903
+accelerometer: 300551160,-4.84823,8.73831,0.670704
+accelerometer: 300651044,-5.09735,8.06761,0.555726
+accelerometer: 300751233,-4.71409,8.69999,0.632378
+accelerometer: 300851270,-5.34647,8.01012,0.594052
+accelerometer: 300951246,-5.32731,8.29757,0.344933
+accelerometer: 301051648,-5.42312,7.83765,0.728193
+accelerometer: 301151471,-5.15484,7.79933,0.268282
+accelerometer: 301251264,-5.5381,8.14426,0.210793
+accelerometer: 301351209,-5.63391,7.85682,0.268282
+accelerometer: 301451520,-5.09735,8.52752,0.383259
+accelerometer: 301551221,-5.34647,8.06761,-0.19163
+accelerometer: 301651258,-5.174,8.1251,0.766519
+accelerometer: 301751050,-5.28898,7.95263,-0.172467
+accelerometer: 301851300,-5.95968,8.56585,0.249119
+accelerometer: 301951215,-5.23149,8.20175,-0.172467
+accelerometer: 302051252,-5.55726,8.22091,-0.459911
+accelerometer: 302151014,-5.63391,7.70351,-0.019163
+accelerometer: 302251233,-5.80638,6.59206,0.268282
+accelerometer: 302351270,-7.39691,-3.4685,0.689867
+accelerometer: 302451276,-21.5583,-38.6134,7.14779
+accelerometer: 302551191,39.2266,-39.2458,27.3456
+accelerometer: 302651258,18.1665,-10.6354,4.38832
+accelerometer: 302751172,21.3284,-4.75242,2.41453
+accelerometer: 302851270,13.3566,-5.55726,4.1392
+accelerometer: 302951307,12.7434,-0.90066,2.2229
+accelerometer: 303051221,-1.3989,-0.574889,1.32224
+accelerometer: 303151319,-9.14074,1.36057,0.958148
+orientation:303251264,3
+accelerometer: 303251264,-10.463,1.87797,1.0348
+accelerometer: 303351239,-7.14779,7.26277,1.09229
+accelerometer: 303451276,-6.78369,6.99448,1.66718
+accelerometer: 303551252,-6.51541,7.33942,1.64802
+accelerometer: 303651197,-6.0555,6.53457,1.3989
+orientation:303751233,1
+accelerometer: 303751233,-5.5381,6.97532,1.09229
+accelerometer: 303851239,-5.71057,8.91078,0.689867
+accelerometer: 303951246,-5.30814,8.68083,2.08876
+accelerometer: 304051252,-5.42312,7.41607,1.72467
+accelerometer: 304151227,-5.59559,7.58854,2.01211
+accelerometer: 304251020,-5.174,8.04845,1.05396
+accelerometer: 304351239,-5.49977,8.45087,1.1881
+accelerometer: 304451307,-5.5381,7.79933,1.51387
+accelerometer: 304551221,-5.05902,8.10594,0.977311
+accelerometer: 304651319,-5.80638,8.20175,1.0348
+accelerometer: 304751233,-5.34647,8.08677,1.05396
+accelerometer: 304851026,-5.6914,7.81849,1.22643
+accelerometer: 304951276,-5.46145,8.06761,1.37973
+accelerometer: 305051282,-6.01717,7.89514,1.3989
+accelerometer: 305151258,-5.5381,8.18259,0.90066
+accelerometer: 305251325,-5.51894,7.93347,0.90066
+accelerometer: 305351239,-5.61475,8.35505,1.07313
+accelerometer: 305451276,-5.86387,7.66519,0.287445
+accelerometer: 305551252,-6.40043,5.84471,1.1881
+accelerometer: 305651227,-7.51188,-2.87445,0.747356
+accelerometer: 305751264,33.1328,-39.2458,15.6561
+accelerometer: 305851239,38.0193,-24.7202,7.32025
+accelerometer: 305951276,18.4731,-7.30109,15.5795
+accelerometer: 306051252,16.7293,-7.33942,3.96673
+accelerometer: 306151227,12.1876,-3.66013,2.7403
+accelerometer: 306251233,7.03281,-1.62885,0.19163
+accelerometer: 306351026,-8.45087,-0.632378,1.11145
+accelerometer: 306451246,-11.4403,-0.287445,2.05044
+accelerometer: 306551252,-9.33237,4.06255,0.440748
+accelerometer: 306651258,-6.70704,8.43171,-0.632378
+accelerometer: 306751325,-6.87951,6.55374,0.824008
+accelerometer: 306851239,-7.05197,6.11299,1.37973
+accelerometer: 306951032,-6.51541,6.937,0.747356
+accelerometer: 307051252,-6.55374,6.76453,1.36057
+accelerometer: 307151258,-6.99448,7.12862,1.64802
+accelerometer: 307251233,-6.11299,7.30109,0.824008
+accelerometer: 307351362,-7.05197,7.47356,0.670704
+accelerometer: 307451276,-6.11299,6.74537,0.804845
+accelerometer: 307551008,-6.40043,7.55021,0.958148
+accelerometer: 307651227,-6.49625,7.22444,1.30308
+accelerometer: 307751233,-6.24713,7.43523,1.28392
+accelerometer: 307851270,-6.43876,7.6077,1.20727
+accelerometer: 307951307,-6.11299,7.47356,1.09229
+accelerometer: 308051221,-6.32378,7.32025,1.45639
+accelerometer: 308151258,-6.18964,7.74184,1.09229
+accelerometer: 308251233,-6.26629,7.81849,0.862334
+accelerometer: 308351270,-6.24713,7.12862,1.07313
+accelerometer: 308451032,-7.14779,2.45286,1.59053
+accelerometer: 308551252,-8.2784,-8.18259,4.44581
+accelerometer: 308651258,-10.9229,-32.5004,7.78017
+accelerometer: 308751203,25.9467,-8.18259,30.335
+accelerometer: 308851362,19.1821,-1.05396,11.2487
+accelerometer: 308951276,15.5603,-5.59559,6.76453
+accelerometer: 309051191,3.18105,-0.613215,2.24207
+accelerometer: 309151044,0.824008,1.99295,1.01564
+accelerometer: 309251264,1.64802,4.92488,1.89713
+accelerometer: 309351270,0.594052,6.15131,3.12356
+accelerometer: 309451337,2.26123,5.65308,5.72973
+accelerometer: 309551252,6.40043,7.39691,7.87598
+accelerometer: 309651227,7.03281,5.95968,10.4438
+accelerometer: 309751264,1.82048,5.07819,7.85682
+accelerometer: 309851239,2.77863,5.94052,5.63391
+irProximity:309952678,0.392157
+orientation:309951215,5
+accelerometer: 309951215,1.76299,5.65308,7.20528
+irProximity:310053966,0.466667
+accelerometer: 310051008,2.2229,5.63391,7.12862
+accelerometer: 310151258,3.06608,5.88303,6.99448
+irProximity:310254985,0.580392
+accelerometer: 310251264,3.16189,6.38127,8.01012
+accelerometer: 310351270,2.03127,4.73325,6.86034
+irProximity:310456065,0.513726
+accelerometer: 310451246,1.28392,4.36916,6.76453
+accelerometer: 310551038,2.10793,2.56784,8.66166
+irProximity:310657115,0.505882
+accelerometer: 310651227,1.5522,-0.268282,7.85682
+accelerometer: 310751233,1.64802,-0.574889,11.3636
+accelerometer: 310851239,0.0574889,-0.19163,9.63897
+irProximity:310857982,0.52549
+accelerometer: 310951368,0.114978,0.632378,8.4892
+accelerometer: 311051252,0.268282,1.14978,9.71563
+irProximity:311058879,0.521569
+accelerometer: 311151014,1.43722,0.019163,9.79228
+accelerometer: 311251264,1.83965,1.05396,9.63897
+irProximity:311260173,0.631373
+accelerometer: 311351300,0.881497,0.785682,9.88809
+accelerometer: 311451246,-0.287445,-0.364096,7.01365
+irProximity:311461559,0.639216
+accelerometer: 311551313,-0.153304,0.0766519,9.23655
+accelerometer: 311651227,-0.249119,0.287445,9.79228
+irProximity:311662608,0.384314
+accelerometer: 311751294,-0.0766519,0.5174,9.73479
+accelerometer: 311851270,-0.0766519,0.210793,9.56232
+irProximity:311865062,0.376471
+accelerometer: 311951307,0.134141,0.440748,9.50483
+accelerometer: 312051221,-0.0958148,0.249119,9.35153
+accelerometer: 312151258,-0.0383259,0.0958148,9.61981
+accelerometer: 312251264,-0.114978,0.114978,9.33237
+accelerometer: 312351239,0.383259,0.0574889,9.84977
+accelerometer: 312451276,-0.172467,0.306608,9.42818
+accelerometer: 312551221,0.0766519,0.134141,9.65814
+accelerometer: 312651014,-0.019163,0.383259,9.524
+accelerometer: 312751264,0.019163,0.153304,9.56232
+accelerometer: 312851270,-0.0958148,0.306608,9.73479
+accelerometer: 312951246,0.019163,0.153304,9.6773
+accelerometer: 313051282,-0.153304,0.249119,9.40902
+accelerometer: 313151258,0.134141,0.249119,9.50483
+accelerometer: 313251020,0.114978,0.0383259,9.6773
+accelerometer: 313351270,-0.172467,0.364096,9.25571
+accelerometer: 313451307,-0.229956,0.210793,9.46651
+accelerometer: 313551282,-0.210793,0.5174,9.37069
+accelerometer: 313651136,-0.19163,0.114978,9.38986
+accelerometer: 313751264,0.153304,-0.019163,9.58148
+accelerometer: 313851270,-0.210793,0.344933,9.54316
+accelerometer: 313951276,-0.0383259,0.114978,9.42818
+accelerometer: 314051252,-0.0766519,0.594052,9.77311
+accelerometer: 314151258,0.19163,0.172467,9.65814
+accelerometer: 314251264,-0.249119,0.287445,9.42818
+accelerometer: 314351239,0.019163,0.153304,9.48567
+accelerometer: 314451276,-0.32577,0.134141,9.524
+accelerometer: 314551221,0.0958148,-0.019163,9.54316
+accelerometer: 314651227,0.210793,0.153304,9.65814
+accelerometer: 314751020,-0.268282,0.153304,9.61981
+accelerometer: 314851270,-0.0958148,0.153304,9.48567
+accelerometer: 314951307,-0.0958148,0.306608,9.524
+accelerometer: 315051252,0.114978,0.229956,9.29404
+accelerometer: 315151319,0.249119,0.134141,9.73479
+accelerometer: 315251203,0.153304,0,9.63897
+accelerometer: 315351026,-0.0383259,0.114978,9.61981
+accelerometer: 315451276,0.0574889,0.19163,9.58148
+accelerometer: 315551252,-0.172467,0.306608,9.54316
+accelerometer: 315651593,-0.153304,0.364096,9.46651
+accelerometer: 315751386,-0.249119,0.0958148,9.61981
+accelerometer: 315851270,-0.019163,0.479074,9.21739
+accelerometer: 315951276,-0.0574889,0,9.44734
+accelerometer: 316051343,-0.0574889,0.306608,9.33237
+accelerometer: 316151258,-0.268282,0,9.58148
+accelerometer: 316251264,-0.0574889,0.498237,9.6773
+accelerometer: 316351239,0.019163,-0.785682,9.73479
+accelerometer: 316451246,-0.0574889,0.19163,9.61981
+accelerometer: 316551252,-0.019163,0.0958148,9.60065
+accelerometer: 316651258,-0.172467,0.728193,9.54316
+accelerometer: 316751233,0.134141,0.344933,9.54316
+accelerometer: 316851026,-0.134141,0.0958148,9.524
+accelerometer: 316951276,0.0958148,0.383259,9.81144
+accelerometer: 317051252,-0.0574889,0.153304,9.44734
+accelerometer: 317151258,-0.134141,0.153304,9.29404
+accelerometer: 317251294,-0.19163,0.421585,9.81144
+accelerometer: 317351270,-0.32577,0.5174,9.524
+accelerometer: 317451032,-0.172467,0.287445,9.48567
+accelerometer: 317551313,0.114978,0.287445,9.44734
+accelerometer: 317651227,0.134141,0.114978,9.33237
+accelerometer: 317751264,-0.0958148,0.364096,9.60065
+accelerometer: 317851331,-0.0958148,0.0766519,9.35153
+accelerometer: 317951276,-0.172467,0.402422,9.524
+accelerometer: 318051313,-0.019163,0.134141,9.33237
+accelerometer: 318151258,0.114978,0.134141,9.77311
+accelerometer: 318251233,0.0574889,0,9.88809
+accelerometer: 318351270,0.0574889,0.364096,9.77311
+accelerometer: 318451276,-0.172467,0.134141,9.61981
+accelerometer: 318551252,-0.210793,0.364096,9.65814
+accelerometer: 318651258,-0.134141,0.249119,9.58148
+accelerometer: 318751264,-0.0574889,0.019163,9.27488
+accelerometer: 318851026,-0.0383259,0.19163,9.58148
+accelerometer: 318951276,-0.0958148,0.134141,9.63897
+accelerometer: 319051252,0.172467,0.229956,9.61981
+accelerometer: 319151258,-0.0958148,0.210793,9.50483
+accelerometer: 319251233,0.134141,0.172467,9.56232
+accelerometer: 319351331,-0.210793,0.19163,9.40902
+accelerometer: 319451276,-0.0766519,0.114978,9.42818
+accelerometer: 319550977,0.0766519,0.249119,9.44734
+accelerometer: 319650953,-0.421585,0.210793,9.42818
+accelerometer: 319751264,0.019163,0,9.37069
+accelerometer: 319851270,-0.229956,0.440748,9.40902
+accelerometer: 319951337,-0.229956,0.114978,9.42818
+accelerometer: 320051252,0.114978,-0.019163,9.21739
+accelerometer: 320151258,-0.0574889,0.32577,9.23655
+accelerometer: 320251264,0.114978,0.0383259,9.54316
+accelerometer: 320351270,-0.172467,-0.0383259,9.50483
+accelerometer: 320451276,0.0574889,-0.019163,9.77311
+accelerometer: 320551282,-0.0383259,0.153304,9.65814
+accelerometer: 320651197,-0.172467,0.229956,9.61981
+accelerometer: 320751355,-0.019163,0.249119,9.46651
+accelerometer: 320851270,-0.172467,0.364096,9.25571
+accelerometer: 320951246,-0.172467,0.306608,9.48567
+accelerometer: 321051008,0.0383259,0.32577,9.27488
+accelerometer: 321151014,0,0.0958148,9.524
+accelerometer: 321251264,-0.0574889,-0.0958148,9.40902
+accelerometer: 321351270,-0.134141,0.134141,9.61981
+accelerometer: 321451185,0.32577,-0.0766519,9.58148
+accelerometer: 321551221,-0.210793,0.210793,9.44734
+accelerometer: 321651014,-0.32577,0.32577,9.524
+accelerometer: 321751264,-0.153304,0.134141,9.6773
+accelerometer: 321851239,0.114978,0.172467,9.1599
+accelerometer: 321951276,-0.019163,0.32577,9.58148
+accelerometer: 322051313,0.0766519,0.268282,9.44734
+accelerometer: 322151258,-0.5174,0.306608,9.50483
+accelerometer: 322251233,-0.0766519,0.0383259,9.48567
+accelerometer: 322351270,-0.172467,0.249119,9.46651
+accelerometer: 322451246,-0.0958148,0.364096,9.25571
+accelerometer: 322551252,-0.0766519,0.0383259,9.56232
+accelerometer: 322651227,-0.19163,0.19163,9.63897
+accelerometer: 322751233,-0.229956,0.0574889,9.44734
+accelerometer: 322851270,0.0383259,0.268282,9.6773
+accelerometer: 322951246,-0.0958148,0.0958148,9.60065
+accelerometer: 323051008,-0.0383259,1.30308,9.48567
+accelerometer: 323151014,-0.0766519,0.210793,9.65814
+accelerometer: 323251264,0.019163,-0.153304,9.69646
+accelerometer: 323351239,-0.268282,0.019163,9.44734
+accelerometer: 323451276,-0.229956,0.32577,9.35153
+accelerometer: 323551313,-0.019163,0.229956,9.21739
+accelerometer: 323651258,0.0574889,0.344933,9.73479
+accelerometer: 323751020,-0.0574889,0.19163,9.48567
+accelerometer: 323851270,-0.0766519,0.402422,9.38986
+accelerometer: 323951246,0.0574889,0.153304,9.35153
+accelerometer: 324051252,0.0766519,0.153304,9.58148
+accelerometer: 324151319,0,0.172467,9.48567
+accelerometer: 324251294,-0.210793,0.306608,9.35153
+accelerometer: 324351270,-0.153304,0.0766519,9.58148
+accelerometer: 324451276,0.229956,0.210793,9.48567
+accelerometer: 324551221,0.019163,0.210793,9.63897
+accelerometer: 324651258,0.019163,0.268282,9.37069
+accelerometer: 324751264,-0.210793,0.0766519,9.35153
+accelerometer: 324851270,-0.0383259,0.344933,9.58148
+accelerometer: 324951276,0.0383259,0.249119,9.58148
+accelerometer: 325051252,0.114978,0.0574889,9.65814
+accelerometer: 325151258,-0.134141,0.134141,9.37069
+accelerometer: 325251020,-0.287445,0.344933,9.0066
+accelerometer: 325351270,0.019163,0.5174,9.37069
+accelerometer: 325451307,-0.0574889,0.344933,9.60065
+accelerometer: 325551252,0.019163,0.0383259,9.54316
+accelerometer: 325651319,-0.0958148,0.229956,9.6773
+accelerometer: 325751264,0.019163,0.459911,9.58148
+accelerometer: 325851026,0.0383259,-0.0383259,9.524
+accelerometer: 325951276,-0.114978,0.287445,9.61981
+accelerometer: 326051313,0.0958148,0.172467,9.46651
+accelerometer: 326151258,-0.0383259,0.306608,9.6773
+accelerometer: 326251355,-0.19163,0.210793,9.40902
+accelerometer: 326351270,-0.153304,-0.019163,9.60065
+accelerometer: 326451276,-0.0766519,0.153304,9.40902
+accelerometer: 326551221,-0.249119,0.287445,9.54316
+accelerometer: 326651258,0,0.153304,9.38986
+accelerometer: 326751294,0.134141,0.344933,9.56232
+accelerometer: 326851270,-0.229956,0.421585,9.46651
+accelerometer: 326951093,-0.229956,0.19163,9.54316
+accelerometer: 327051252,-0.364096,0.574889,9.50483
+accelerometer: 327151258,-0.0574889,0.249119,9.79228
+accelerometer: 327251264,-0.268282,0.0766519,9.3132
+accelerometer: 327351026,-0.0766519,0.0574889,9.42818
+accelerometer: 327451246,0.134141,0.19163,9.63897
+accelerometer: 327551252,-0.249119,0.440748,9.54316
+accelerometer: 327651227,-0.268282,0.306608,9.40902
+accelerometer: 327751142,0.0574889,0.0383259,9.56232
+accelerometer: 327851270,-0.306608,0.421585,9.69646
+accelerometer: 327951062,0,0.287445,9.61981
+accelerometer: 328051252,-0.210793,0.364096,9.44734
+accelerometer: 328151258,0.019163,0.153304,9.63897
+accelerometer: 328251264,-0.153304,0.153304,9.3132
+accelerometer: 328351362,0,0.172467,9.61981
+accelerometer: 328451276,-0.0958148,0.134141,9.56232
+accelerometer: 328551221,-0.0766519,0.383259,9.69646
+accelerometer: 328651258,-0.0958148,0.114978,9.33237
+accelerometer: 328751477,0.0958148,0.383259,9.8306
+accelerometer: 328851117,-0.0958148,0.153304,9.29404
+accelerometer: 328951246,-0.0766519,0.172467,9.61981
+accelerometer: 329051252,-0.210793,0.268282,9.60065
+accelerometer: 329151227,0.019163,0.114978,9.92642
+accelerometer: 329251264,-0.134141,0.229956,9.54316
+accelerometer: 329351239,-0.229956,0.229956,9.61981
+accelerometer: 329451032,-0.268282,0.421585,9.19823
+accelerometer: 329551252,-0.153304,0.0383259,9.60065
+accelerometer: 329651258,-0.0574889,0.268282,9.61981
+accelerometer: 329751264,-0.0766519,0.364096,9.48567
+accelerometer: 329851331,-0.114978,0.383259,9.524
+accelerometer: 329951276,-0.19163,0.287445,8.87245
+irProximity:329965036,0.443137
+accelerometer: 330051252,0.249119,-1.28392,10.8079
+irProximity:330066538,0.486275
+accelerometer: 330151258,-2.10793,-5.05902,15.2346
+accelerometer: 330251233,-0.0958148,-3.94757,13.6824
+irProximity:330267557,0.4
+accelerometer: 330351239,-1.1881,5.46145,3.89008
+irProximity:330368875,0.407843
+accelerometer: 330451368,-2.16542,7.85682,7.56937
+irProximity:330470224,0.392157
+accelerometer: 330551252,-0.862334,11.7277,4.12004
+irProximity:330571543,0.376471
+accelerometer: 330651227,5.26982,6.91783,9.98391
+accelerometer: 330751264,6.36211,8.04845,7.58854
+accelerometer: 330851270,0.555726,5.09735,5.28898
+accelerometer: 330951246,-1.97379,4.44581,6.89867
+accelerometer: 331051252,-6.80285,2.01211,4.69493
+orientation:331151319,3
+accelerometer: 331151319,-8.71915,2.31872,5.00153
+accelerometer: 331251050,-9.42818,0.70903,4.21585
+accelerometer: 331351270,-5.78722,-1.1881,1.66718
+accelerometer: 331451246,-6.36211,-10.7313,4.25418
+accelerometer: 331551069,-14.7555,-39.2458,9.3132
+accelerometer: 331651258,39.2266,-20.8876,19.7379
+accelerometer: 331751233,24.5861,-2.89361,-4.75242
+accelerometer: 331851270,12.4943,-8.52752,8.92994
+accelerometer: 331951337,12.5326,-5.03986,2.47202
+accelerometer: 332051252,12.9733,-0.479074,2.79779
+accelerometer: 332151014,7.30109,0.747356,0.90066
+accelerometer: 332251325,4.56079,3.60264,2.16542
+accelerometer: 332351300,-2.18458,5.19316,1.53304
+accelerometer: 332451276,-5.57642,4.42665,0.555726
+accelerometer: 332551313,-8.35505,5.80638,-0.824008
+accelerometer: 332651258,-7.64602,6.91783,0.172467
+accelerometer: 332751233,-5.99801,6.70704,0.747356
+accelerometer: 332851270,-8.1251,6.01717,-0.0958148
+accelerometer: 332951246,-7.99096,5.63391,0.728193
+accelerometer: 333051191,-6.82202,6.03634,0.632378
+accelerometer: 333151227,-8.10594,4.00506,0.804845
+accelerometer: 333251325,-10.0031,-2.97026,0.249119
+accelerometer: 333351270,-10.3672,-21.2517,5.23149
+accelerometer: 333451246,35.1832,-32.7304,-13.7207
+accelerometer: 333551252,20.0828,-10.5205,12.1302
+accelerometer: 333651014,17.3042,-6.03634,-3.73678
+accelerometer: 333751233,10.4055,-4.79074,2.51035
+accelerometer: 333851270,13.05,-0.958148,0.919823
+orientation:333951276,4
+accelerometer: 333951276,12.3218,-0.19163,0.498237
+accelerometer: 334051313,6.09382,4.27334,-1.36057
+accelerometer: 334151258,-0.728193,2.75947,-1.24559
+accelerometer: 334251111,-5.61475,2.47202,1.24559
+accelerometer: 334351239,-8.50836,4.1392,-0.574889
+accelerometer: 334451307,-6.03634,9.19823,0.0383259
+accelerometer: 334551252,-7.81849,7.74184,0.958148
+accelerometer: 334651166,-5.42312,7.20528,0.881497
+orientation:334751264,1
+accelerometer: 334751264,-5.34647,8.16343,1.45639
+accelerometer: 334851178,-5.67224,8.35505,1.78216
+accelerometer: 334951276,-6.28545,7.2436,1.59053
+accelerometer: 335051252,-6.66871,6.82202,1.5522
+accelerometer: 335151258,-3.66013,9.02576,0.536563
+accelerometer: 335251996,-5.6914,7.26277,0.938986
+accelerometer: 335351270,-6.91783,4.48413,0.766519
+accelerometer: 335451276,-7.78017,-14.7172,-0.0766519
+accelerometer: 335551252,22.2865,-39.2458,-3.33436
+accelerometer: 335651258,39.2266,-24.1837,-3.69845
+accelerometer: 335751020,18.9905,-2.64449,-1.53304
+accelerometer: 335851270,15.2729,-4.23502,0.306608
+accelerometer: 335951093,14.9471,-3.56431,2.97026
+accelerometer: 336051252,13.759,-2.33788,0.670704
+accelerometer: 336151319,16.9592,4.23502,-1.09229
+accelerometer: 336251111,-4.23502,-0.728193,1.09229
+accelerometer: 336351026,-7.0903,-0.172467,-0.364096
+accelerometer: 336451276,-8.58501,4.98237,-0.287445
+accelerometer: 336551252,-7.89514,5.48061,2.29956
+orientation:336651227,3
+accelerometer: 336651227,-7.66519,5.48061,0.728193
+accelerometer: 336751294,-8.54668,5.30814,0.402422
+accelerometer: 336851270,-8.02928,5.46145,0.440748
+accelerometer: 336951276,-7.74184,5.71057,1.51387
+accelerometer: 337051038,-7.761,5.32731,0.479074
+accelerometer: 337151227,-8.37422,5.11651,1.43722
+accelerometer: 337251233,-7.56937,6.70704,0.728193
+accelerometer: 337351270,-9.02576,4.77158,0.402422
+accelerometer: 337451246,-8.98743,-0.766519,1.09229
+accelerometer: 337551252,-8.69999,-7.37774,0.670704
+accelerometer: 337651197,-4.54162,-21.1176,4.88656
+accelerometer: 337751447,39.2266,-39.2458,5.30814
+accelerometer: 337851056,17.3617,-4.86739,7.28193
+accelerometer: 337951276,15.4837,-3.9859,-2.49119
+accelerometer: 338051221,12.8584,-4.02422,0.785682
+accelerometer: 338151136,25.4484,7.26277,2.85528
+accelerometer: 338251386,6.34294,-0.210793,-0.919823
+accelerometer: 338351270,1.14978,2.0696,1.1881
+accelerometer: 338451032,-4.71409,3.87092,-0.172467
+accelerometer: 338551221,-4.34999,6.0555,1.01564
+accelerometer: 338651288,-4.59911,7.55021,3.52599
+accelerometer: 338751264,-1.51387,8.39338,4.42665
+accelerometer: 338851392,-0.651541,10.0606,-1.11145
+accelerometer: 338951246,0.229956,11.6894,-4.04339
+accelerometer: 339051252,3.4685,9.37069,-3.02775
+orientation:339151258,1
+accelerometer: 339151258,3.27687,9.02576,-1.5522
+accelerometer: 339251264,1.64802,9.10241,0.306608
+accelerometer: 339351270,1.45639,9.40902,-0.019163
+accelerometer: 339451276,1.26476,9.84977,-0.19163
+accelerometer: 339551221,-0.134141,12.0918,1.32224
+accelerometer: 339651258,-1.01564,11.9769,4.34999
+accelerometer: 339751233,-2.89361,12.9158,4.77158
+accelerometer: 339851270,-2.05044,10.0031,3.96673
+accelerometer: 339951032,-1.1881,7.93347,3.92841
+accelerometer: 340051221,2.03127,6.40043,1.82048
+accelerometer: 340151227,2.01211,8.6425,2.54868
+accelerometer: 340251264,5.71057,7.0903,1.9163
+accelerometer: 340351331,7.33942,4.88656,-0.5174
+irProximity:340381173,0.380392
+orientation:340451246,4
+accelerometer: 340451246,9.29404,4.92488,-1.24559
+accelerometer: 340551008,7.28193,6.91783,1.26476
+accelerometer: 340651258,9.04492,6.13215,-0.421585
+accelerometer: 340751233,9.40902,6.45792,-1.85881
+accelerometer: 340851239,6.937,6.15131,-1.28392
+accelerometer: 340951368,7.51188,6.30462,-1.16894
+irProximity:340986917,0.376471
+accelerometer: 341051221,7.83765,5.95968,-0.785682
+accelerometer: 341151258,5.92136,8.81497,-4.34999
+accelerometer: 341251233,6.95616,7.28193,-3.23854
+accelerometer: 341351300,7.35858,6.18964,-1.82048
+accelerometer: 341451215,7.89514,6.07466,-0.19163
+accelerometer: 341551221,8.37422,1.64802,1.43722
+accelerometer: 341651258,12.3601,-8.81497,4.54162
+accelerometer: 341751233,0.306608,-33.3052,7.14779
+accelerometer: 341851209,-39.2458,-13.874,7.20528
+accelerometer: 341951246,-22.2099,-4.96321,-2.05044
+accelerometer: 342051038,-10.1755,-6.13215,0.862334
+accelerometer: 342151410,-11.6319,-4.10088,0.479074
+accelerometer: 342251264,-15.2154,0.881497,-0.229956
+accelerometer: 342351239,-8.7958,1.82048,-0.632378
+accelerometer: 342451337,-0.651541,2.29956,-0.919823
+accelerometer: 342551221,6.95616,4.23502,0.32577
+accelerometer: 342651014,6.45792,5.80638,-0.229956
+accelerometer: 342751233,7.12862,7.10946,0.249119
+accelerometer: 342851300,6.53457,7.16695,-0.364096
+accelerometer: 342951276,6.87951,7.33942,-0.249119
+accelerometer: 343051313,7.28193,7.07114,0.0766519
+accelerometer: 343151227,6.97532,6.84118,0.306608
+accelerometer: 343251264,7.6077,6.91783,-0.0766519
+accelerometer: 343351300,7.41607,6.55374,-0.19163
+accelerometer: 343451276,8.56585,4.21585,0.785682
+accelerometer: 343551252,8.4892,-7.32025,3.00859
+accelerometer: 343651258,3.96673,-24.9502,3.89008
+accelerometer: 343751233,-28.4953,-30.45,-2.70198
+accelerometer: 343851239,-19.7762,-5.61475,-0.287445
+accelerometer: 343951246,-11.6511,-4.29251,0.32577
+orientation:344051252,3
+accelerometer: 344051252,-10.6929,-4.19669,0.459911
+accelerometer: 344151166,-13.3374,-3.33436,1.30308
+accelerometer: 344251233,-14.1614,0.0383259,-0.172467
+accelerometer: 344351300,-8.16343,1.78216,-1.32224
+accelerometer: 344451276,-2.24207,3.83259,-0.498237
+accelerometer: 344551313,9.12157,0.536563,0.70903
+orientation:344651258,4
+accelerometer: 344651258,9.25571,2.18458,0.440748
+irProximity:344728036,0.380392
+accelerometer: 344751050,8.39338,4.75242,0.0383259
+accelerometer: 344851270,8.7958,5.67224,-0.0766519
+accelerometer: 344951307,8.45087,5.55726,-0.019163
+accelerometer: 345051252,8.20175,5.6914,-0.421585
+accelerometer: 345151319,7.99096,5.57642,-0.344933
+accelerometer: 345251233,8.68083,5.0207,-0.0958148
+accelerometer: 345351239,9.25571,3.87092,0.0766519
+accelerometer: 345451276,10.2714,0.287445,1.09229
+irProximity:345536569,0.376471
+accelerometer: 345551252,0.574889,-24.4903,3.00859
+accelerometer: 345651258,-6.26629,-39.2458,1.9163
+irProximity:345738778,0.384314
+accelerometer: 345751294,-39.2458,-33.7843,5.19316
+irProximity:345840157,0.392157
+accelerometer: 345851331,-14.0848,-11.6702,0.402422
+irProximity:345941506,0.380392
+accelerometer: 345951062,-9.73479,-6.38127,-0.172467
+irProximity:346043160,0.376471
+accelerometer: 346051038,-12.8967,-5.80638,0.862334
+accelerometer: 346151349,-15.5412,-2.89361,-0.919823
+accelerometer: 346251020,-7.93347,3.06608,-0.70903
+accelerometer: 346351239,-0.421585,1.74383,-0.19163
+accelerometer: 346451276,4.21585,2.68282,-0.210793
+accelerometer: 346551252,7.89514,5.46145,0.421585
+accelerometer: 346651349,7.01365,6.03634,0.172467
+accelerometer: 346751477,7.89514,6.18964,0.287445
+accelerometer: 346851392,7.56937,5.94052,-0.32577
+accelerometer: 346951215,7.39691,6.86034,-0.134141
+accelerometer: 347051313,7.49272,7.26277,-0.536563
+accelerometer: 347151258,8.08677,6.13215,0.229956
+accelerometer: 347251355,8.37422,5.76805,-0.19163
+accelerometer: 347351270,8.91078,1.78216,0.536563
+accelerometer: 347451307,10.7888,-4.77158,3.2577
+accelerometer: 347551221,7.37774,-30.0092,8.1251
+accelerometer: 347651258,-39.2458,-27.3072,7.39691
+accelerometer: 347751203,-25.3909,-5.44228,-0.210793
+irProximity:347762338,0.392157
+accelerometer: 347851300,-17.2467,-6.68788,1.22643
+irProximity:347863381,0.388235
+accelerometer: 347951276,-12.226,-1.7055,-0.0574889
+irProximity:347964425,0.376471
+accelerometer: 348051252,-9.96474,-0.632378,1.43722
+accelerometer: 348151197,-0.268282,1.1881,2.72114
+accelerometer: 348251264,4.10088,1.99295,2.12709
+accelerometer: 348351026,5.78722,3.71762,0.747356
+accelerometer: 348451276,3.21938,4.48413,2.66365
+accelerometer: 348551252,-1.37973,5.0207,7.70351
+accelerometer: 348651258,-0.19163,4.94405,12.111
+accelerometer: 348751325,-0.5174,5.80638,8.60417
+orientation:348851270,5
+accelerometer: 348851270,0,4.48413,8.69999
+accelerometer: 348952070,-2.28039,4.5033,8.14426
+accelerometer: 349051221,-0.728193,4.73325,9.35153
+accelerometer: 349150922,-2.52951,3.90925,9.92642
+accelerometer: 349251081,-2.97026,3.87092,7.85682
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat
new file mode 100644
index 0000000000..f3ec2e92de
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat
@@ -0,0 +1,260 @@
+orientation:6291210832,5
+accelerometer: 6292150682,0.402422,1.99295,9.23655
+accelerometer: 6292171190,0.0574889,2.08876,9.27488
+accelerometer: 6292190996,-0.0958148,2.12709,9.08325
+accelerometer: 6292210649,0.0383259,2.05044,9.19823
+accelerometer: 6292231401,0.0574889,2.39537,9.1599
+irProximity:6292235233,0.294118
+accelerometer: 6292250658,-0.0958148,1.85881,9.10241
+proximity:6292264896,0
+accelerometer: 6292271013,-0.287445,1.82048,9.25571
+accelerometer: 6292290971,-0.019163,1.85881,9.38986
+accelerometer: 6292310899,0.172467,1.87797,9.56232
+accelerometer: 6292330736,-0.0383259,1.7055,9.37069
+accelerometer: 6292350969,0.153304,1.7055,9.42818
+accelerometer: 6292370897,-0.019163,1.83965,9.56232
+accelerometer: 6292390886,0.0766519,1.85881,9.50483
+accelerometer: 6292411028,0.210793,1.78216,9.65814
+accelerometer: 6292430895,0,1.80132,9.54316
+accelerometer: 6292450945,0.19163,2.01211,9.63897
+accelerometer: 6292470934,0.268282,1.87797,9.8306
+accelerometer: 6292490892,0.0574889,1.95462,9.42818
+accelerometer: 6292510942,0,2.10793,9.48567
+accelerometer: 6292530779,0.172467,2.33788,9.61981
+accelerometer: 6292550890,-0.0574889,2.87445,9.42818
+accelerometer: 6292571062,0.210793,2.72114,9.98391
+accelerometer: 6292591142,0.249119,2.77863,10.0989
+accelerometer: 6292610918,0.479074,3.12356,10.578
+accelerometer: 6292630785,0.114978,3.00859,10.4821
+accelerometer: 6292650926,0.114978,3.08524,10.3672
+accelerometer: 6292670885,0.19163,3.50682,10.4055
+accelerometer: 6292690904,0.268282,4.12004,10.5205
+accelerometer: 6292710893,0.555726,4.25418,10.3863
+accelerometer: 6292731065,0.5174,4.21585,10.0797
+accelerometer: 6292751146,0.536563,4.79074,9.73479
+accelerometer: 6292770921,0.766519,5.05902,9.61981
+accelerometer: 6292790971,0.268282,4.80991,8.96827
+accelerometer: 6292810869,0.134141,5.15484,8.20175
+accelerometer: 6292830888,0.153304,5.55726,7.66519
+irProximity:6292845401,0.298039
+accelerometer: 6292851061,0.364096,5.6914,7.83765
+accelerometer: 6292871324,0.134141,5.65308,7.81849
+accelerometer: 6292891008,-0.153304,6.18964,7.10946
+accelerometer: 6292910967,0.210793,5.99801,6.74537
+accelerometer: 6292930864,0.0766519,6.30462,5.88303
+accelerometer: 6292950975,-0.172467,6.36211,6.36211
+accelerometer: 6292970934,0.306608,6.74537,6.70704
+accelerometer: 6292990740,0.210793,6.78369,6.36211
+accelerometer: 6293010912,0.344933,6.7262,5.67224
+accelerometer: 6293030901,0.114978,7.03281,5.5381
+orientation:6293030901,1
+accelerometer: 6293050951,0.019163,6.99448,5.63391
+accelerometer: 6293071184,-0.229956,7.03281,5.00153
+accelerometer: 6293090959,-0.19163,7.6077,5.15484
+accelerometer: 6293110948,0.306608,7.53105,4.88656
+accelerometer: 6293130907,0.249119,7.33942,4.73325
+accelerometer: 6293150774,0.153304,7.22444,4.56079
+accelerometer: 6293170885,-0.0958148,7.83765,4.5033
+accelerometer: 6293190935,-0.229956,7.55021,4.57995
+accelerometer: 6293210954,-0.172467,7.43523,4.88656
+accelerometer: 6293231401,0.0766519,7.66519,5.07819
+accelerometer: 6293250963,-0.019163,7.72268,4.77158
+accelerometer: 6293270860,-0.019163,7.81849,5.05902
+accelerometer: 6293290941,0.0766519,7.79933,5.51894
+accelerometer: 6293310899,-0.019163,7.87598,5.28898
+accelerometer: 6293330705,0.0574889,7.95263,5.28898
+accelerometer: 6293350786,0.019163,7.99096,5.6914
+accelerometer: 6293371111,-0.019163,7.99096,5.57642
+accelerometer: 6293391130,-0.172467,7.89514,5.48061
+accelerometer: 6293410967,0,8.37422,5.57642
+accelerometer: 6293430956,0,7.95263,5.61475
+irProximity:6293451419,0.301961
+accelerometer: 6293451433,0.287445,8.06761,5.72973
+accelerometer: 6293470934,0.019163,8.10594,5.55726
+accelerometer: 6293490892,0.153304,8.31673,5.99801
+accelerometer: 6293510912,0.114978,7.9718,5.78722
+accelerometer: 6293531114,-0.019163,7.74184,5.48061
+irProximity:6293553165,0.298039
+accelerometer: 6293552599,-0.172467,8.04845,5.59559
+accelerometer: 6293570970,0.0574889,8.24008,5.65308
+accelerometer: 6293590990,-0.019163,7.87598,5.11651
+accelerometer: 6293610918,0.0383259,7.9718,5.61475
+accelerometer: 6293630907,-0.153304,8.04845,5.72973
+accelerometer: 6293650713,0.114978,7.93347,5.80638
+irProximity:6293654789,0.301961
+accelerometer: 6293670885,0.268282,8.14426,5.6914
+accelerometer: 6293691026,4.82907,7.93347,5.51894
+accelerometer: 6293711076,0.0574889,7.91431,5.86387
+accelerometer: 6293730852,-0.134141,7.72268,5.78722
+accelerometer: 6293750688,-0.0958148,7.9718,5.19316
+accelerometer: 6293770952,-0.0574889,8.33589,5.36563
+accelerometer: 6293790971,0,8.14426,5.23149
+accelerometer: 6293810899,0.210793,7.85682,5.36563
+accelerometer: 6293830919,0.0958148,7.99096,5.21233
+accelerometer: 6293850908,0.689867,8.18259,5.174
+accelerometer: 6293871141,1.34141,7.49272,5.25065
+accelerometer: 6293890947,2.03127,7.93347,4.86739
+accelerometer: 6293910906,2.70198,7.37774,3.56431
+accelerometer: 6293930895,4.19669,7.81849,3.1044
+accelerometer: 6293950762,4.31167,7.761,2.60616
+irProximity:6293959507,0.294118
+accelerometer: 6293970964,6.32378,8.04845,1.05396
+accelerometer: 6293990740,7.33942,9.61981,2.28039
+accelerometer: 6294011064,7.01365,9.23655,1.41806
+accelerometer: 6294031145,6.55374,8.45087,-0.344933
+accelerometer: 6294050768,5.61475,7.79933,-0.574889
+accelerometer: 6294070970,5.15484,8.83413,-0.268282
+accelerometer: 6294090929,3.92841,7.89514,-1.78216
+accelerometer: 6294110887,2.37621,7.83765,-2.33788
+accelerometer: 6294130785,2.97026,8.68083,-1.68634
+accelerometer: 6294150743,2.9511,8.75748,-2.62533
+accelerometer: 6294170885,3.1044,8.43171,-3.43017
+accelerometer: 6294191362,3.73678,9.0066,-3.81343
+accelerometer: 6294210954,4.46497,9.19823,-3.89008
+accelerometer: 6294230882,4.5033,8.92994,-3.90925
+accelerometer: 6294251177,3.87092,8.69999,-4.40748
+accelerometer: 6294270860,4.34999,8.85329,-4.23502
+accelerometer: 6294290971,4.29251,8.94911,-3.56431
+accelerometer: 6294310899,4.21585,9.06409,-3.08524
+accelerometer: 6294331072,4.06255,8.50836,-3.23854
+accelerometer: 6294351152,4.00506,8.75748,-2.7403
+accelerometer: 6294370958,4.12004,8.89162,-1.5522
+accelerometer: 6294390917,4.75242,9.10241,-0.632378
+accelerometer: 6294410906,4.75242,8.89162,-0.70903
+accelerometer: 6294430895,5.25065,8.54668,0.0383259
+accelerometer: 6294450945,5.90219,8.69999,1.14978
+accelerometer: 6294470934,6.03634,8.14426,2.39537
+accelerometer: 6294491075,6.17048,7.64602,3.73678
+accelerometer: 6294511125,5.90219,7.68435,4.33083
+accelerometer: 6294530870,5.13568,7.18611,4.36916
+accelerometer: 6294550920,3.18105,7.91431,4.06255
+irProximity:6294567813,0.301961
+accelerometer: 6294570970,1.89713,8.69999,2.89361
+accelerometer: 6294590898,0.632378,7.20528,3.89008
+accelerometer: 6294610918,-0.134141,7.2436,5.03986
+accelerometer: 6294630907,-0.555726,7.39691,6.7262
+accelerometer: 6294651048,-0.632378,7.58854,7.41607
+irProximity:6294669376,0.298039
+accelerometer: 6294671129,-0.632378,7.37774,6.43876
+accelerometer: 6294690935,-0.613215,7.10946,4.69493
+accelerometer: 6294710893,-1.13062,7.22444,4.59911
+accelerometer: 6294730943,-1.07313,7.39691,6.24713
+accelerometer: 6294750902,-0.766519,7.32025,5.76805
+accelerometer: 6294771105,-0.785682,6.97532,6.26629
+accelerometer: 6294790910,-0.728193,7.2436,6.13215
+accelerometer: 6294811052,-0.536563,7.30109,5.84471
+accelerometer: 6294831163,-0.498237,7.28193,6.34294
+accelerometer: 6294851061,-0.114978,7.9718,7.12862
+accelerometer: 6294871080,-0.114978,7.26277,5.90219
+accelerometer: 6294890917,-0.421585,7.56937,5.99801
+accelerometer: 6294910906,-0.440748,7.55021,5.99801
+accelerometer: 6294930895,0.0574889,6.87951,6.03634
+accelerometer: 6294950945,-0.306608,7.4544,6.937
+accelerometer: 6294970689,-0.364096,7.37774,5.86387
+irProximity:6294974216,0.301961
+accelerometer: 6294990892,-0.498237,7.74184,6.07466
+accelerometer: 6295010973,-0.19163,7.47356,6.30462
+accelerometer: 6295030901,-0.0574889,7.53105,6.82202
+accelerometer: 6295050890,0.0766519,7.43523,6.82202
+accelerometer: 6295070726,-0.364096,7.47356,6.49625
+accelerometer: 6295090898,0.0383259,7.55021,6.74537
+accelerometer: 6295110918,0.172467,7.58854,6.82202
+accelerometer: 6295131059,0.153304,7.28193,6.5729
+accelerometer: 6295150896,0.0574889,7.12862,6.84118
+accelerometer: 6295170854,-0.383259,7.37774,6.41959
+accelerometer: 6295191026,0.0766519,7.18611,6.17048
+accelerometer: 6295210924,-0.19163,7.28193,6.51541
+accelerometer: 6295231127,-0.344933,7.32025,6.45792
+accelerometer: 6295251054,-0.459911,7.47356,6.95616
+accelerometer: 6295270921,-0.440748,7.51188,6.76453
+irProximity:6295277225,0.298039
+accelerometer: 6295291063,-0.364096,7.18611,6.13215
+accelerometer: 6295311083,-0.0958148,7.56937,6.45792
+accelerometer: 6295330705,0.114978,7.32025,6.78369
+accelerometer: 6295350939,-0.019163,7.18611,6.22797
+accelerometer: 6295370744,-0.5174,7.01365,5.92136
+irProximity:6295378910,0.301961
+accelerometer: 6295390947,-0.114978,7.01365,6.63039
+accelerometer: 6295410936,-0.134141,7.03281,6.59206
+accelerometer: 6295430895,0.0574889,7.01365,6.66871
+accelerometer: 6295451067,0.364096,7.18611,6.80285
+accelerometer: 6295470934,0.651541,6.70704,6.74537
+irProximity:6295480533,0.298039
+accelerometer: 6295490953,-0.0574889,7.37774,6.97532
+accelerometer: 6295510942,0.0574889,7.05197,6.51541
+accelerometer: 6295530901,-0.287445,7.18611,6.68788
+accelerometer: 6295550890,0.019163,6.99448,6.84118
+accelerometer: 6295570757,0.019163,7.41607,6.937
+irProximity:6295582218,0.301961
+accelerometer: 6295590898,0.0766519,7.0903,6.80285
+accelerometer: 6295611070,0.364096,7.39691,6.55374
+accelerometer: 6295631151,0.402422,7.16695,6.34294
+accelerometer: 6295650957,0.32577,7.20528,6.5729
+accelerometer: 6295670915,0.364096,6.99448,6.97532
+irProximity:6295683841,0.298039
+accelerometer: 6295690965,-0.019163,6.97532,6.55374
+accelerometer: 6295710893,-0.268282,7.26277,6.18964
+accelerometer: 6295730943,-0.440748,6.937,6.28545
+accelerometer: 6295750932,-0.19163,7.2436,6.53457
+accelerometer: 6295771074,-0.0574889,7.22444,6.61122
+accelerometer: 6295791185,0,7.30109,6.24713
+accelerometer: 6295810960,-0.0383259,7.01365,6.53457
+accelerometer: 6295830949,-0.0958148,6.97532,6.70704
+accelerometer: 6295850908,-0.0958148,7.12862,6.41959
+accelerometer: 6295870897,-0.019163,7.16695,6.78369
+accelerometer: 6295890947,0.114978,7.22444,6.74537
+accelerometer: 6295910906,0.019163,7.39691,6.53457
+accelerometer: 6295931078,-0.32577,7.12862,6.15131
+accelerometer: 6295951128,-0.364096,7.12862,5.95968
+accelerometer: 6295970964,-0.344933,7.35858,6.24713
+accelerometer: 6295990679,-0.172467,7.26277,6.64955
+accelerometer: 6296010698,-0.249119,7.22444,6.86034
+accelerometer: 6296030687,-0.0383259,6.78369,6.87951
+accelerometer: 6296050707,-0.344933,7.07114,6.937
+accelerometer: 6296070635,-0.153304,6.63039,6.61122
+accelerometer: 6296090776,-0.268282,6.89867,6.91783
+accelerometer: 6296110857,-0.440748,7.12862,6.43876
+accelerometer: 6296130907,-0.306608,7.37774,6.2088
+accelerometer: 6296150835,0.0574889,6.99448,6.87951
+accelerometer: 6296170976,-0.153304,7.43523,6.70704
+accelerometer: 6296191759,-0.114978,7.43523,6.40043
+accelerometer: 6296211595,-0.0958148,7.01365,6.40043
+accelerometer: 6296231706,-0.0958148,7.10946,6.49625
+accelerometer: 6296251787,-0.0574889,7.01365,6.78369
+accelerometer: 6296271532,0.0574889,6.68788,6.937
+accelerometer: 6296292192,0.0766519,6.84118,6.89867
+accelerometer: 6296312029,0.114978,7.58854,7.03281
+accelerometer: 6296332018,-0.632378,6.80285,5.42312
+accelerometer: 6296350664,-1.07313,6.97532,5.99801
+accelerometer: 6296370531,-0.479074,7.03281,6.91783
+accelerometer: 6296390642,-0.0383259,6.63039,7.64602
+accelerometer: 6296411058,-0.114978,6.61122,7.18611
+accelerometer: 6296431139,0.019163,6.41959,7.18611
+accelerometer: 6296450914,0.268282,6.64955,7.18611
+accelerometer: 6296470903,-0.153304,6.80285,7.07114
+accelerometer: 6296490801,0.0574889,6.84118,6.89867
+accelerometer: 6296510912,-0.172467,6.76453,6.61122
+accelerometer: 6296530901,-0.0383259,6.74537,6.84118
+accelerometer: 6296550890,-0.114978,6.49625,7.05197
+accelerometer: 6296571062,-0.421585,6.68788,6.95616
+accelerometer: 6296590990,-0.229956,6.64955,7.03281
+accelerometer: 6296610948,-0.114978,6.5729,7.18611
+accelerometer: 6296630937,-0.210793,6.55374,7.12862
+accelerometer: 6296650865,-0.32577,6.59206,7.03281
+accelerometer: 6296670885,-0.0958148,6.53457,7.18611
+accelerometer: 6296690599,-0.249119,6.64955,7.16695
+accelerometer: 6296710924,-0.172467,6.5729,7.16695
+accelerometer: 6296731065,0.0766519,6.55374,7.28193
+accelerometer: 6296751146,-0.153304,7.05197,7.32025
+accelerometer: 6296770921,0.0383259,7.03281,6.86034
+accelerometer: 6296790788,-0.689867,7.28193,6.03634
+accelerometer: 6296810930,-0.632378,6.68788,6.70704
+accelerometer: 6296832842,-0.996474,6.09382,6.63039
+accelerometer: 6296851854,-0.689867,6.89867,7.14779
+accelerometer: 6296870744,-0.5174,6.97532,7.01365
+accelerometer: 6296891527,-0.019163,6.95616,7.33942
+accelerometer: 6296911760,0.153304,6.74537,6.99448
+accelerometer: 6296930986,-0.19163,7.0903,7.22444
+accelerometer: 6296952196,-0.32577,7.20528,6.15131
+accelerometer: 6296971361,-0.670704,6.63039,5.95968
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat
new file mode 100644
index 0000000000..7f66e0b7a8
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat
@@ -0,0 +1,252 @@
+accelerometer: 11443330713,-0.364096,0.728193,9.88809
+irProximity:11443345721,0.294118
+accelerometer: 11443351709,0.249119,0.728193,10.0222
+orientation:11441670740,5
+accelerometer: 11443451807,-0.134141,0.670704,9.44734
+accelerometer: 11443470850,-0.0574889,1.05396,9.44734
+irProximity:11443472979,0.294118
+proximity:11443485430,0
+accelerometer: 11443490747,-0.0958148,0.785682,9.29404
+accelerometer: 11443510950,-0.0958148,0.938986,9.35153
+accelerometer: 11443530969,0,1.0348,9.60065
+accelerometer: 11443550958,-0.0958148,0.824008,9.58148
+accelerometer: 11443570764,-0.0574889,0.977311,9.40902
+accelerometer: 11443590906,0.172467,1.09229,9.6773
+accelerometer: 11443610803,0.32577,0.728193,9.86893
+accelerometer: 11443630914,0.0574889,1.1881,9.48567
+accelerometer: 11443650964,0.0383259,0.938986,9.58148
+accelerometer: 11443670923,-0.019163,1.13062,9.44734
+accelerometer: 11443690942,0.19163,1.16894,9.58148
+accelerometer: 11443710993,0.134141,1.36057,9.54316
+accelerometer: 11443730951,0.421585,1.47555,9.38986
+accelerometer: 11443750971,0.344933,1.47555,9.21739
+accelerometer: 11443770929,0.114978,1.24559,9.56232
+accelerometer: 11443790674,0.0383259,1.14978,9.38986
+accelerometer: 11443810816,0.153304,1.41806,9.48567
+accelerometer: 11443830805,0.134141,1.34141,9.44734
+accelerometer: 11443850824,0.0766519,1.3989,9.58148
+accelerometer: 11443870813,-0.0574889,1.1881,9.48567
+accelerometer: 11443890802,0.210793,1.34141,9.63897
+accelerometer: 11443910852,0.0574889,1.24559,9.524
+accelerometer: 11443930811,0.0574889,1.22643,9.60065
+accelerometer: 11443950922,0.114978,1.37973,9.6773
+accelerometer: 11443970941,0.210793,1.59053,9.6773
+accelerometer: 11443990808,0.114978,1.45639,9.58148
+accelerometer: 11444010919,0.0383259,1.43722,9.44734
+accelerometer: 11444030969,0.32577,1.78216,9.524
+accelerometer: 11444050958,0.0958148,1.66718,9.46651
+accelerometer: 11444070947,0.249119,1.49471,9.524
+accelerometer: 11444090936,0.172467,0.996474,9.63897
+accelerometer: 11444110986,0.0574889,1.43722,9.69646
+accelerometer: 11444130975,0.134141,0.996474,9.50483
+accelerometer: 11444150964,0.19163,1.1881,9.06409
+accelerometer: 11444171014,0.479074,0.613215,9.08325
+accelerometer: 11444190912,0.344933,1.74383,9.86893
+accelerometer: 11444210962,-0.114978,2.4337,10.0989
+accelerometer: 11444230920,0.229956,1.95462,9.44734
+accelerometer: 11444250971,-0.172467,1.76299,9.02576
+accelerometer: 11444270929,-0.5174,1.41806,9.19823
+accelerometer: 11444290888,-0.881497,1.5522,9.35153
+accelerometer: 11444310999,-0.498237,1.11145,9.17906
+accelerometer: 11444330988,0.210793,1.30308,10.4055
+accelerometer: 11444350946,0.0766519,1.07313,10.578
+accelerometer: 11444370966,-0.19163,1.24559,10.1372
+accelerometer: 11444390894,-0.479074,1.7055,8.94911
+accelerometer: 11444410913,-0.785682,1.57136,9.21739
+accelerometer: 11444430750,-0.344933,0.938986,9.21739
+accelerometer: 11444450861,-0.287445,1.16894,9.21739
+accelerometer: 11444470819,-0.498237,1.37973,9.37069
+irProximity:11444487597,0.290196
+accelerometer: 11444490991,-0.555726,1.51387,9.92642
+accelerometer: 11444510980,-1.01564,1.07313,9.46651
+accelerometer: 11444530939,-0.90066,0.421585,9.524
+accelerometer: 11444550928,-1.13062,0.402422,9.58148
+accelerometer: 11444570947,-1.26476,0.5174,9.69646
+accelerometer: 11444590936,-1.28392,0.536563,9.524
+accelerometer: 11444610986,-0.938986,1.26476,10.0222
+accelerometer: 11444630884,-1.1881,0.383259,9.8306
+accelerometer: 11444650751,-1.01564,0.919823,9.71563
+accelerometer: 11444670770,-0.843171,1.22643,9.84977
+accelerometer: 11444690881,-0.613215,1.64802,9.84977
+accelerometer: 11444710962,-0.536563,1.30308,9.79228
+accelerometer: 11444730920,-0.747356,0.843171,9.524
+accelerometer: 11444750971,-0.479074,1.36057,9.75395
+accelerometer: 11444770929,-0.306608,0.938986,14.698
+accelerometer: 11444790796,-0.114978,0.919823,10.0606
+accelerometer: 11444810816,-0.32577,0.977311,9.75395
+accelerometer: 11444830835,-0.19163,1.30308,9.73479
+accelerometer: 11444850763,0.229956,2.0696,9.79228
+accelerometer: 11444870844,0.613215,2.45286,10.463
+irProximity:11444890490,0.294118
+accelerometer: 11444890894,0.479074,3.06608,11.0379
+accelerometer: 11444910791,1.49471,3.69845,11.057
+accelerometer: 11444930780,0.440748,2.68282,11.3062
+accelerometer: 11444950891,0.843171,3.08524,10.5205
+accelerometer: 11444970941,0.90066,2.93193,9.50483
+irProximity:11444991106,0.290196
+accelerometer: 11444990656,2.20374,3.87092,7.761
+accelerometer: 11445010828,3.48766,3.89008,6.32378
+accelerometer: 11445030939,3.9859,3.56431,4.15836
+accelerometer: 11445050958,4.54162,4.00506,2.9511
+accelerometer: 11445070917,5.59559,4.67576,1.66718
+accelerometer: 11445090814,5.65308,4.02422,0.766519
+irProximity:11445092760,0.294118
+orientation:11445090814,4
+accelerometer: 11445110956,4.31167,2.89361,-1.9163
+accelerometer: 11445130975,2.93193,2.28039,-4.25418
+accelerometer: 11445150995,3.06608,1.41806,-5.42312
+orientation:11445150995,6
+accelerometer: 11445170984,2.81696,0.364096,-7.14779
+accelerometer: 11445190820,3.29603,-0.344933,-7.53105
+irProximity:11445193621,0.4
+accelerometer: 11445210962,3.14273,-0.574889,-9.3132
+accelerometer: 11445230951,6.15131,4.25418,-13.4141
+accelerometer: 11445251001,2.10793,-0.440748,-15.3879
+proximity:11445262567,1
+accelerometer: 11445271570,2.01211,0.249119,-10.9995
+accelerometer: 11445290857,0.574889,0.824008,-10.4247
+irProximity:11445294543,0.705882
+accelerometer: 11445310816,1.49471,0.344933,-9.81144
+accelerometer: 11445330805,2.2229,0.574889,-10.0606
+accelerometer: 11445350763,1.99295,-0.0574889,-9.69646
+accelerometer: 11445370935,1.30308,-4.79074,-9.33237
+accelerometer: 11445390955,0.919823,0.421585,-9.79228
+accelerometer: 11445410944,0.938986,0.229956,-10.1372
+accelerometer: 11445430994,0.555726,0.114978,-10.2139
+accelerometer: 11445450983,1.22643,0.344933,-9.90726
+accelerometer: 11445470850,0.881497,0.0958148,-10.1947
+accelerometer: 11445490869,0.728193,0.19163,-10.2522
+irProximity:11445495501,0.721569
+accelerometer: 11445510980,0.785682,0.32577,-9.65814
+accelerometer: 11445530969,0.728193,0.306608,-9.04492
+accelerometer: 11445550653,0.938986,0.402422,-9.33237
+accelerometer: 11445570764,0.728193,0.134141,-9.14074
+accelerometer: 11445590936,0.90066,0.287445,-9.37069
+accelerometer: 11445610956,1.07313,0.268282,-9.3132
+accelerometer: 11445630975,1.01564,0.19163,-9.54316
+accelerometer: 11445650964,0.938986,0.114978,-9.524
+accelerometer: 11445670770,0.862334,0.0958148,-9.69646
+accelerometer: 11445690759,0.862334,0.153304,-9.69646
+irProximity:11445696306,0.72549
+accelerometer: 11445710809,1.36057,-4.77158,-9.69646
+accelerometer: 11445730920,0.862334,0.134141,-9.50483
+accelerometer: 11445750940,0.689867,0.0383259,-9.50483
+accelerometer: 11445771143,1.11145,-4.90572,-9.6773
+accelerometer: 11445790765,0.881497,-0.0383259,-9.73479
+accelerometer: 11445810754,0.728193,0.0383259,-9.58148
+accelerometer: 11445830835,0.996474,0.19163,-9.56232
+accelerometer: 11445850794,0.90066,0.0574889,-9.63897
+accelerometer: 11445870844,1.1881,0.134141,-9.54316
+accelerometer: 11445890650,1.13062,0.229956,-9.35153
+irProximity:11445897234,0.721569
+accelerometer: 11445910852,1.09229,0.0766519,-9.23655
+accelerometer: 11445930933,0.747356,0.172467,-9.14074
+accelerometer: 11445950922,0.689867,0.440748,-9.60065
+accelerometer: 11445970941,0.862334,0.479074,-9.54316
+accelerometer: 11445990961,1.01564,0.172467,-9.69646
+accelerometer: 11446010736,0.881497,0.172467,-10.0414
+accelerometer: 11446030817,0.996474,0.114978,-10.233
+accelerometer: 11446050958,1.72467,0.172467,-9.88809
+accelerometer: 11446070978,2.16542,0.766519,-9.44734
+accelerometer: 11446090936,2.64449,0.344933,-9.12157
+irProximity:11446098192,0.686275
+accelerometer: 11446110895,3.21938,0.383259,-8.69999
+accelerometer: 11446130914,4.61828,1.16894,-8.31673
+accelerometer: 11446150903,5.6914,1.43722,-7.30109
+accelerometer: 11446171045,6.36211,2.41453,-6.11299
+accelerometer: 11446190942,7.33942,3.08524,-4.12004
+orientation:11446190942,4
+accelerometer: 11446210962,8.18259,3.87092,-1.76299
+accelerometer: 11446230951,9.23655,4.31167,-0.881497
+accelerometer: 11446251001,9.44734,5.05902,0.459911
+accelerometer: 11446270960,8.75748,4.61828,2.7403
+accelerometer: 11446290796,7.58854,3.69845,4.44581
+irProximity:11446299120,0.298039
+accelerometer: 11446310938,5.48061,2.85528,6.34294
+accelerometer: 11446330835,4.00506,2.10793,8.06761
+orientation:11446330835,5
+proximity:11446341150,0
+accelerometer: 11446350916,1.97379,2.18458,9.27488
+accelerometer: 11446370935,1.30308,1.1881,9.54316
+accelerometer: 11446390802,0.804845,1.26476,9.90726
+accelerometer: 11446410913,0.651541,1.62885,10.4247
+accelerometer: 11446430933,0.0958148,1.76299,10.0031
+accelerometer: 11446450891,-0.268282,1.49471,9.92642
+accelerometer: 11446470789,-0.249119,1.09229,10.1372
+accelerometer: 11446490747,-0.919823,1.30308,9.71563
+irProximity:11446500933,0.294118
+accelerometer: 11446510950,-1.89713,1.3989,9.33237
+accelerometer: 11446530969,-1.80132,0.824008,9.75395
+accelerometer: 11446550958,-1.3989,-0.0574889,9.75395
+accelerometer: 11446570947,-0.90066,-0.498237,9.23655
+accelerometer: 11446590967,-0.824008,-0.134141,8.43171
+accelerometer: 11446610895,-1.34141,-0.229956,9.21739
+accelerometer: 11446630914,-0.536563,-0.249119,9.17906
+accelerometer: 11446650934,-0.881497,-0.402422,9.23655
+accelerometer: 11446670770,-0.996474,-0.689867,8.92994
+accelerometer: 11446691065,-1.0348,-0.862334,9.02576
+irProximity:11446702532,0.290196
+accelerometer: 11446710993,-0.90066,-0.881497,10.2714
+accelerometer: 11446730951,-0.574889,-0.958148,10.4821
+accelerometer: 11446750940,-0.996474,-1.3989,9.37069
+accelerometer: 11446770960,-1.26476,-1.43722,9.1599
+accelerometer: 11446790796,-0.996474,-1.3989,9.38986
+accelerometer: 11446810816,-0.306608,-1.14978,9.60065
+accelerometer: 11446830835,0.172467,-0.824008,10.0031
+accelerometer: 11446850824,0.172467,-0.919823,9.75395
+accelerometer: 11446870844,-0.0958148,-1.47555,9.17906
+accelerometer: 11446890802,0.19163,-1.36057,9.33237
+accelerometer: 11446910791,0.651541,-1.16894,9.73479
+accelerometer: 11446930963,0.938986,-1.13062,10.233
+accelerometer: 11446950952,0.804845,-1.43722,9.79228
+accelerometer: 11446970972,0.383259,-1.14978,9.38986
+accelerometer: 11446990808,0.670704,-0.977311,10.0414
+accelerometer: 11447010828,1.11145,-0.766519,9.81144
+accelerometer: 11447030939,1.16894,-0.747356,14.4489
+accelerometer: 11447050928,0.670704,-0.440748,9.8306
+accelerometer: 11447070947,0.70903,-0.498237,9.88809
+accelerometer: 11447090967,0.498237,-0.785682,9.50483
+accelerometer: 11447110925,0.440748,-0.651541,9.27488
+accelerometer: 11447130975,0.383259,-0.766519,9.6773
+accelerometer: 11447150934,0.114978,-0.5174,9.60065
+accelerometer: 11447170923,0.210793,-0.70903,9.42818
+accelerometer: 11447190942,0.0766519,-0.785682,8.98743
+accelerometer: 11447210901,0.172467,-0.594052,9.79228
+accelerometer: 11447230951,0.268282,-0.804845,9.61981
+accelerometer: 11447250940,0,-0.938986,9.48567
+accelerometer: 11447270929,0.0574889,-0.938986,9.58148
+accelerometer: 11447290918,0,-0.555726,9.86893
+irProximity:11447306658,0.294118
+accelerometer: 11447310968,0.153304,-0.843171,9.61981
+accelerometer: 11447330927,-0.153304,-0.766519,9.58148
+accelerometer: 11447350733,-0.0574889,-0.977311,9.8306
+accelerometer: 11447370935,-0.0958148,-0.747356,9.58148
+accelerometer: 11447390924,0.134141,-0.383259,9.71563
+irProximity:11447407457,0.290196
+accelerometer: 11447410974,-0.019163,-0.383259,9.63897
+accelerometer: 11447430902,-0.0383259,-0.728193,9.46651
+accelerometer: 11447450891,-0.0958148,-0.804845,9.50483
+accelerometer: 11447470758,-0.0383259,-0.70903,9.35153
+accelerometer: 11447490961,-0.306608,-0.555726,9.23655
+accelerometer: 11447510919,-0.172467,-0.632378,9.23655
+accelerometer: 11447531000,-0.134141,-0.594052,9.37069
+accelerometer: 11447550958,-0.306608,-0.785682,9.38986
+accelerometer: 11447570978,-0.0958148,-0.766519,9.48567
+accelerometer: 11447590997,-0.249119,-0.785682,9.38986
+accelerometer: 11447610925,0,-0.70903,9.6773
+accelerometer: 11447630914,0.0958148,-0.651541,9.50483
+accelerometer: 11447650964,-0.0766519,-0.958148,9.33237
+accelerometer: 11447670953,0.0766519,-0.747356,9.77311
+accelerometer: 11447690942,0.114978,-0.747356,9.90726
+accelerometer: 11447711054,0,-0.804845,9.73479
+accelerometer: 11447730920,-0.287445,-1.01564,9.42818
+accelerometer: 11447750940,-0.498237,-0.651541,9.19823
+accelerometer: 11447773554,-0.459911,-0.344933,9.60065
+accelerometer: 11447790857,-0.210793,-0.32577,9.6773
+accelerometer: 11447810816,-0.479074,-0.766519,9.98391
+accelerometer: 11447830805,-0.249119,-0.670704,10.0989
+accelerometer: 11447850763,-0.421585,-0.5174,9.61981
+accelerometer: 11447870813,-0.651541,-0.383259,9.12157
+accelerometer: 11447890772,-0.287445,-0.229956,9.23655
+accelerometer: 11447910974,-0.172467,-0.670704,9.3132
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat
new file mode 100644
index 0000000000..cde7bb722f
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat
@@ -0,0 +1,361 @@
+irProximity:11952268937,0.294118
+orientation:11949151148,5
+irProximity:11952369798,0.290196
+accelerometer: 11952370691,0.383259,2.45286,9.23655
+accelerometer: 11952390833,0.383259,2.56784,9.06409
+accelerometer: 11952410913,0.670704,2.62533,8.81497
+accelerometer: 11952430872,0.670704,2.81696,8.92994
+accelerometer: 11952450891,0.594052,2.64449,9.37069
+proximity:11949132684,0
+accelerometer: 11952475122,0.459911,2.31872,9.54316
+irProximity:11952477403,0.290196
+accelerometer: 11952490930,0.651541,2.49119,9.75395
+accelerometer: 11952510950,0.613215,2.70198,9.69646
+accelerometer: 11952530939,0.306608,2.45286,9.54316
+accelerometer: 11952550958,0.32577,2.18458,9.33237
+accelerometer: 11952570795,0,2.24207,8.92994
+accelerometer: 11952590936,0.0574889,2.31872,9.06409
+accelerometer: 11952610956,0.383259,2.24207,9.33237
+accelerometer: 11952631036,0.364096,2.39537,9.50483
+accelerometer: 11952650934,0.229956,2.49119,9.38986
+accelerometer: 11952670801,0.0574889,2.587,9.40902
+accelerometer: 11952690942,0.114978,2.35705,9.29404
+accelerometer: 11952710962,0.19163,1.97379,9.61981
+accelerometer: 11952730951,-0.0383259,1.59053,9.27488
+accelerometer: 11952750971,0.249119,2.08876,9.27488
+accelerometer: 11952770837,0.268282,2.35705,9.27488
+accelerometer: 11952790735,0.651541,2.29956,9.524
+accelerometer: 11952810816,0.32577,2.52951,9.14074
+accelerometer: 11952830774,0.459911,2.20374,9.06409
+accelerometer: 11952850763,0.728193,2.49119,9.48567
+accelerometer: 11952870813,0.613215,2.77863,9.46651
+accelerometer: 11952890802,0.747356,2.47202,9.42818
+accelerometer: 11952910822,1.1881,2.08876,9.1599
+accelerometer: 11952930963,1.41806,1.51387,8.91078
+accelerometer: 11952950983,0.862334,1.57136,8.47003
+accelerometer: 11952970972,0.536563,1.51387,8.73831
+accelerometer: 11952990808,0.70903,1.68634,8.98743
+accelerometer: 11953010828,0.70903,1.87797,9.3132
+accelerometer: 11953030969,0.249119,3.35352,9.79228
+accelerometer: 11953050958,0.594052,3.4685,10.0031
+accelerometer: 11953070947,0.670704,2.10793,9.63897
+accelerometer: 11953090936,0.862334,1.37973,9.58148
+accelerometer: 11953110956,0.632378,1.41806,9.84977
+accelerometer: 11953130975,0.574889,1.11145,9.61981
+accelerometer: 11953150995,0.0958148,0.479074,9.1599
+accelerometer: 11953170953,0.229956,1.01564,8.1251
+accelerometer: 11953190912,0.938986,1.57136,7.66519
+accelerometer: 11953210962,1.51387,1.97379,8.1251
+accelerometer: 11953231012,1.24559,1.83965,7.91431
+accelerometer: 11953250971,0.728193,1.01564,7.43523
+accelerometer: 11953270960,0.651541,0.824008,8.02928
+accelerometer: 11953290918,0.90066,1.11145,8.98743
+accelerometer: 11953310999,1.85881,0.306608,9.58148
+accelerometer: 11953330957,2.05044,-1.45639,11.1528
+accelerometer: 11953350977,1.07313,-1.78216,11.4211
+accelerometer: 11953370966,1.20727,-2.93193,11.0379
+accelerometer: 11953390894,-0.172467,-2.12709,11.7086
+accelerometer: 11953410913,-0.785682,-2.52951,11.1337
+accelerometer: 11953430902,-0.728193,-2.52951,10.3863
+accelerometer: 11953450922,-0.919823,-2.52951,10.1947
+accelerometer: 11953470789,-0.210793,-3.21938,9.46651
+accelerometer: 11953490717,-0.440748,-2.29956,9.33237
+accelerometer: 11953510889,-0.594052,-2.16542,9.46651
+accelerometer: 11953530969,-0.383259,-1.95462,9.08325
+accelerometer: 11953550958,-0.594052,-1.62885,9.29404
+accelerometer: 11953570947,-0.421585,-1.43722,9.35153
+accelerometer: 11953590936,-0.364096,-1.05396,8.7958
+accelerometer: 11953610925,0.0574889,-1.0348,8.83413
+accelerometer: 11953630945,0.383259,-1.05396,8.89162
+accelerometer: 11953650934,0.249119,-1.36057,9.08325
+accelerometer: 11953670923,0.287445,-0.996474,9.04492
+accelerometer: 11953690912,1.22643,-0.881497,9.08325
+accelerometer: 11953710931,1.1881,-0.996474,9.27488
+accelerometer: 11953730920,0.766519,-1.11145,8.91078
+accelerometer: 11953750971,2.10793,-0.594052,8.20175
+accelerometer: 11953770868,2.20374,-0.766519,8.08677
+accelerometer: 11953790796,1.74383,-0.747356,6.82202
+accelerometer: 11953810846,3.39185,-0.402422,5.92136
+accelerometer: 11953830805,3.79427,1.13062,4.67576
+accelerometer: 11953850794,8.2784,1.09229,4.21585
+accelerometer: 11953870813,10.2714,2.20374,1.80132
+accelerometer: 11953890772,12.7434,2.56784,-0.996474
+accelerometer: 11953911340,12.3601,2.4337,-2.39537
+orientation:11953911340,4
+accelerometer: 11953930994,12.3026,2.33788,-1.95462
+accelerometer: 11953950983,12.1493,1.26476,0.0574889
+accelerometer: 11953970972,10.118,-0.268282,-0.862334
+irProximity:11953989915,0.298039
+accelerometer: 11953990839,8.6425,0.440748,-3.96673
+accelerometer: 11954010980,9.35153,1.22643,-5.63391
+accelerometer: 11954030969,9.71563,1.47555,-6.64955
+accelerometer: 11954050989,9.3132,1.36057,-6.99448
+accelerometer: 11954070978,8.35505,0.843171,-5.97885
+irProximity:11954090623,0.294118
+accelerometer: 11954090875,8.20175,0.670704,-6.09382
+accelerometer: 11954110956,8.50836,1.37973,-6.5729
+accelerometer: 11954130975,9.10241,1.66718,-6.66871
+accelerometer: 11954150995,9.04492,1.80132,-6.26629
+accelerometer: 11954171167,8.71915,0.594052,-5.44228
+accelerometer: 11954191095,9.23655,1.14978,-3.71762
+accelerometer: 11954211023,9.96474,1.59053,-3.20022
+accelerometer: 11954230982,9.98391,1.07313,-3.23854
+accelerometer: 11954251001,10.578,2.05044,-1.60969
+accelerometer: 11954270960,11.9385,2.29956,0.268282
+accelerometer: 11954290643,12.1493,1.60969,0.459911
+irProximity:11954291917,0.301961
+accelerometer: 11954311029,11.4595,0.747356,0
+accelerometer: 11954330988,10.6546,1.53304,1.53304
+accelerometer: 11954350946,9.94558,1.85881,2.51035
+accelerometer: 11954370752,8.52752,0.249119,3.43017
+accelerometer: 11954390619,5.09735,1.22643,4.90572
+irProximity:11954392350,0.294118
+accelerometer: 11954410913,1.74383,0.421585,6.43876
+accelerometer: 11954430902,-0.0383259,-0.90066,6.64955
+orientation:11954430902,5
+accelerometer: 11954450983,-0.958148,-1.34141,7.87598
+accelerometer: 11954470758,-0.766519,-0.804845,8.29757
+accelerometer: 11954490747,-0.90066,-0.249119,9.19823
+irProximity:11954493302,0.290196
+accelerometer: 11954510950,-0.958148,0.0958148,9.58148
+accelerometer: 11954530969,-1.34141,0.172467,9.90726
+accelerometer: 11954550989,-1.43722,-0.0766519,10.348
+accelerometer: 11954570947,-1.11145,0.210793,10.6354
+accelerometer: 11954590814,-0.766519,0.153304,10.1947
+accelerometer: 11954611353,-1.0348,-0.19163,9.25571
+accelerometer: 11954631006,-0.574889,-0.019163,9.06409
+accelerometer: 11954650934,-0.249119,-0.479074,8.2784
+accelerometer: 11954670953,-0.172467,-0.172467,9.29404
+accelerometer: 11954690820,-0.32577,0.134141,9.35153
+accelerometer: 11954710962,-0.402422,-4.80991,8.7958
+accelerometer: 11954730951,-0.210793,0.210793,9.524
+accelerometer: 11954750971,-0.172467,0.172467,9.44734
+accelerometer: 11954770868,-0.134141,0.0958148,9.50483
+accelerometer: 11954790765,-0.287445,0.134141,9.60065
+accelerometer: 11954810846,-0.383259,-0.0574889,9.86893
+accelerometer: 11954830774,-0.0383259,-0.19163,10.0414
+accelerometer: 11954850794,-0.229956,-0.19163,9.63897
+accelerometer: 11954870874,-0.364096,0.0766519,9.50483
+accelerometer: 11954890833,-0.114978,0.153304,9.56232
+accelerometer: 11954910822,-0.402422,0.0574889,9.71563
+accelerometer: 11954930963,-0.19163,-0.306608,9.81144
+accelerometer: 11954950922,-0.344933,-4.90572,9.54316
+accelerometer: 11954970972,-0.0383259,-0.019163,9.79228
+accelerometer: 11954990778,-0.114978,0.019163,9.65814
+accelerometer: 11955010858,-0.287445,-0.153304,9.40902
+accelerometer: 11955030969,-0.402422,0.019163,9.56232
+accelerometer: 11955050989,-0.32577,-0.019163,9.524
+accelerometer: 11955070917,-0.0766519,-4.86739,9.48567
+accelerometer: 11955090784,-0.249119,0.019163,9.60065
+accelerometer: 11955110925,-0.402422,0.114978,9.42818
+accelerometer: 11955130945,-0.536563,0.0383259,9.50483
+accelerometer: 11955150964,-0.5174,-0.019163,9.524
+accelerometer: 11955170953,-0.479074,-0.153304,9.46651
+accelerometer: 11955190790,-0.364096,-0.0574889,9.38986
+accelerometer: 11955210931,-0.0574889,0.0383259,9.6773
+accelerometer: 11955230951,-0.249119,-0.114978,9.63897
+accelerometer: 11955250971,-0.344933,-4.82907,9.524
+accelerometer: 11955270960,-0.306608,-0.153304,9.37069
+accelerometer: 11955290765,-0.364096,-0.019163,9.44734
+accelerometer: 11955310938,-0.402422,0.0766519,9.58148
+accelerometer: 11955330988,-0.440748,4.84823,9.50483
+accelerometer: 11955350916,-0.421585,-0.210793,9.54316
+accelerometer: 11955370966,-0.689867,-0.153304,9.50483
+accelerometer: 11955390802,-0.594052,-0.019163,9.44734
+accelerometer: 11955410883,-0.344933,-0.019163,9.38986
+accelerometer: 11955430902,-0.440748,-0.0958148,9.54316
+accelerometer: 11955450891,-0.498237,-0.0574889,9.46651
+accelerometer: 11955470758,-0.479074,-0.172467,9.65814
+accelerometer: 11955490778,-0.498237,-0.0958148,9.58148
+accelerometer: 11955510858,-0.402422,-0.019163,9.54316
+accelerometer: 11955530969,-0.670704,4.79074,9.25571
+accelerometer: 11955550928,-0.459911,0.019163,9.58148
+accelerometer: 11955570947,-0.364096,-0.0383259,9.25571
+accelerometer: 11955590936,-0.287445,-0.114978,9.60065
+accelerometer: 11955610895,-0.498237,-0.0574889,9.56232
+accelerometer: 11955630945,-0.5174,-0.0958148,9.56232
+accelerometer: 11955650903,-0.402422,-0.114978,9.524
+accelerometer: 11955670801,-0.364096,-0.019163,9.56232
+accelerometer: 11955690973,-0.19163,-0.19163,9.69646
+accelerometer: 11955710931,-0.306608,-0.0958148,9.60065
+accelerometer: 11955730951,-0.5174,-0.019163,9.48567
+accelerometer: 11955751001,-0.229956,-0.0958148,9.50483
+accelerometer: 11955770837,-0.440748,-0.210793,9.48567
+accelerometer: 11955790765,-0.402422,-4.79074,9.54316
+accelerometer: 11955810816,-0.19163,-0.153304,9.38986
+accelerometer: 11955830805,-0.498237,-0.268282,9.35153
+accelerometer: 11955850824,-0.536563,-0.19163,9.35153
+accelerometer: 11955870813,-0.5174,-0.0958148,9.58148
+accelerometer: 11955890772,-0.287445,-0.32577,9.48567
+accelerometer: 11955910761,-0.613215,-0.172467,9.19823
+accelerometer: 11955930963,-0.364096,-0.440748,9.38986
+accelerometer: 11955950952,-0.5174,-0.268282,9.58148
+accelerometer: 11955970972,-0.555726,-0.134141,9.60065
+accelerometer: 11955990839,-0.555726,-0.249119,9.40902
+accelerometer: 11956010767,-0.268282,-0.32577,9.56232
+accelerometer: 11956030939,-0.479074,-0.172467,9.42818
+accelerometer: 11956050958,-0.555726,-0.0958148,9.42818
+accelerometer: 11956070947,-0.249119,-0.344933,9.42818
+accelerometer: 11956090936,-0.479074,-0.19163,9.65814
+accelerometer: 11956110773,-0.344933,-0.134141,9.33237
+accelerometer: 11956130853,-0.440748,-0.114978,9.44734
+accelerometer: 11956150964,-0.402422,-0.32577,9.71563
+accelerometer: 11956170923,-0.574889,-0.459911,9.44734
+accelerometer: 11956190973,-0.402422,-0.0958148,9.73479
+accelerometer: 11956210931,-0.5174,4.75242,9.40902
+accelerometer: 11956230951,-0.498237,-0.153304,9.38986
+accelerometer: 11956251001,-0.402422,-0.287445,9.46651
+accelerometer: 11956270929,-0.32577,-0.287445,9.50483
+accelerometer: 11956290918,-0.402422,-0.19163,9.60065
+accelerometer: 11956310907,-0.364096,-0.019163,9.58148
+accelerometer: 11956330927,-0.536563,-0.114978,9.50483
+accelerometer: 11956350977,-0.32577,-0.172467,9.61981
+accelerometer: 11956370935,-0.536563,-0.32577,9.524
+accelerometer: 11956390955,-0.421585,-0.019163,9.38986
+accelerometer: 11956410883,-0.594052,-0.210793,9.37069
+accelerometer: 11956430933,-0.594052,-0.229956,9.54316
+accelerometer: 11956450891,-0.5174,-0.268282,9.58148
+accelerometer: 11956470789,-0.613215,-0.268282,9.38986
+accelerometer: 11956490930,-0.344933,-0.287445,9.524
+accelerometer: 11956510889,-0.498237,-0.153304,9.50483
+accelerometer: 11956530969,-0.459911,-0.287445,9.60065
+accelerometer: 11956550958,-0.689867,-0.306608,9.44734
+accelerometer: 11956570947,-0.536563,-0.210793,9.524
+accelerometer: 11956590967,-0.594052,-0.114978,9.3132
+accelerometer: 11956610895,-0.459911,0.0574889,9.35153
+accelerometer: 11956630975,-0.5174,4.77158,9.19823
+accelerometer: 11956650934,-0.172467,-0.0574889,8.2784
+accelerometer: 11956670953,0.0766519,-0.153304,8.20175
+accelerometer: 11956690973,0.268282,0.32577,8.4892
+accelerometer: 11956711054,0.689867,-0.0766519,8.4892
+accelerometer: 11956730920,1.80132,0.268282,8.16343
+accelerometer: 11956750910,4.67576,1.09229,8.02928
+accelerometer: 11956770715,7.43523,1.22643,6.99448
+accelerometer: 11956790674,8.2784,1.59053,4.90572
+accelerometer: 11956810541,9.14074,1.30308,1.57136
+accelerometer: 11956830499,8.62334,1.43722,-1.16894
+accelerometer: 11956850671,8.68083,2.28039,-2.87445
+orientation:11956850671,4
+accelerometer: 11956870691,9.46651,0.766519,-2.83612
+accelerometer: 11956890680,11.5744,1.53304,-2.39537
+irProximity:11956911820,0.294118
+accelerometer: 11956910913,12.3601,2.41453,-2.18458
+accelerometer: 11956930689,11.3445,1.57136,-3.94757
+accelerometer: 11956950678,8.77664,0.459911,-6.30462
+accelerometer: 11956970697,8.10594,0.862334,-7.07114
+accelerometer: 11956990686,9.42818,1.68634,-6.34294
+accelerometer: 11957010584,9.73479,1.59053,-5.19316
+accelerometer: 11957030786,10.0606,0.689867,-5.15484
+accelerometer: 11957050775,9.21739,0.229956,-5.46145
+accelerometer: 11957070764,9.84977,1.32224,-4.61828
+accelerometer: 11957090784,11.4786,2.51035,-2.20374
+accelerometer: 11957110742,12.0152,2.28039,-0.574889
+irProximity:11957113084,0.313726
+accelerometer: 11957130853,10.4055,1.41806,0.766519
+accelerometer: 11957150964,10.8654,1.9163,1.80132
+accelerometer: 11957170984,10.5205,2.12709,2.41453
+accelerometer: 11957190942,9.94558,1.97379,2.56784
+accelerometer: 11957210809,8.60417,1.34141,2.51035
+irProximity:11957213944,0.294118
+accelerometer: 11957230951,6.82202,1.43722,3.54515
+accelerometer: 11957250971,4.06255,1.41806,4.79074
+accelerometer: 11957270990,2.03127,0.689867,6.28545
+accelerometer: 11957290979,0.938986,0,7.33942
+orientation:11957290979,5
+accelerometer: 11957310846,0.268282,-4.88656,8.24008
+irProximity:11957314866,0.290196
+accelerometer: 11957330957,0.670704,-0.651541,8.56585
+accelerometer: 11957350946,0.536563,-0.229956,10.6163
+accelerometer: 11957370966,0.0574889,-0.153304,10.4821
+accelerometer: 11957390955,-0.344933,-0.0766519,9.96474
+accelerometer: 11957410822,-0.632378,-0.249119,9.58148
+accelerometer: 11957430902,-1.43722,-0.0958148,9.8306
+accelerometer: 11957450922,-1.3989,-0.421585,10.0414
+accelerometer: 11957470850,-1.24559,-0.344933,10.2714
+accelerometer: 11957490869,-1.43722,-0.536563,9.63897
+accelerometer: 11957510736,-1.26476,-0.402422,9.90726
+accelerometer: 11957530939,-1.0348,-0.536563,9.58148
+accelerometer: 11957550958,-1.13062,-0.555726,9.19823
+accelerometer: 11957570947,-1.09229,-0.459911,9.524
+accelerometer: 11957590997,-0.90066,-0.383259,9.25571
+accelerometer: 11957610834,-0.689867,-0.134141,9.08325
+accelerometer: 11957630945,-0.632378,0,9.25571
+accelerometer: 11957650964,-0.958148,-0.249119,9.19823
+accelerometer: 11957670923,-1.05396,-0.364096,9.56232
+accelerometer: 11957690942,-0.90066,-0.364096,9.69646
+accelerometer: 11957710779,-0.90066,-0.268282,9.42818
+accelerometer: 11957730920,-1.09229,-0.402422,9.23655
+accelerometer: 11957751001,-0.843171,-0.249119,9.12157
+accelerometer: 11957770807,-0.862334,-0.0383259,9.44734
+accelerometer: 11957790796,-1.11145,0.134141,9.73479
+accelerometer: 11957810816,-0.90066,-0.0766519,9.33237
+accelerometer: 11957830835,-0.919823,-0.479074,9.3132
+accelerometer: 11957850794,-0.747356,-4.84823,8.54668
+accelerometer: 11957870844,-0.938986,0.153304,9.23655
+accelerometer: 11957890802,-0.689867,-0.134141,9.06409
+accelerometer: 11957910822,-0.594052,-0.306608,9.54316
+accelerometer: 11957930933,-0.728193,-0.134141,9.6773
+accelerometer: 11957950922,-0.651541,-0.0766519,9.60065
+accelerometer: 11957970972,-0.383259,-0.0574889,9.25571
+accelerometer: 11957990747,-0.249119,0.364096,10.1947
+accelerometer: 11958010736,-0.287445,0.287445,10.5013
+accelerometer: 11958030908,-0.0766519,0.498237,10.3672
+accelerometer: 11958050958,0.0383259,0.479074,10.348
+accelerometer: 11958070947,-0.268282,0.555726,9.94558
+accelerometer: 11958090967,-0.383259,0.268282,14.7172
+accelerometer: 11958110956,-0.210793,-0.0766519,9.96474
+accelerometer: 11958130914,0.153304,0,10.3288
+accelerometer: 11958150934,0.459911,0.440748,11.1145
+accelerometer: 11958171106,0.440748,0.019163,10.9612
+accelerometer: 11958190973,0.402422,-0.555726,9.65814
+accelerometer: 11958210931,-0.0766519,0.364096,8.62334
+accelerometer: 11958230890,0.114978,0.747356,8.62334
+accelerometer: 11958250940,-0.364096,0.0383259,9.56232
+accelerometer: 11958270929,0.344933,-0.536563,10.3863
+accelerometer: 11958290949,0.0766519,-1.05396,10.118
+accelerometer: 11958310968,0.555726,-1.34141,9.33237
+accelerometer: 11958330927,0.785682,-0.632378,9.12157
+accelerometer: 11958351007,0.670704,-0.32577,9.1599
+accelerometer: 11958370966,0.785682,-0.536563,9.02576
+accelerometer: 11958390924,1.1881,-0.306608,8.87245
+accelerometer: 11958410944,0.5174,0.421585,10.0222
+accelerometer: 11958430872,0.613215,0.689867,9.75395
+accelerometer: 11958450922,0.766519,-0.0958148,9.524
+accelerometer: 11958470819,0.958148,0.632378,9.65814
+accelerometer: 11958490900,0.249119,0.651541,9.54316
+accelerometer: 11958510919,0.287445,0.843171,9.42818
+accelerometer: 11958530939,0.555726,0.440748,8.98743
+accelerometer: 11958550958,0.0766519,0.344933,9.06409
+accelerometer: 11958570947,0.229956,0.70903,8.58501
+accelerometer: 11958590967,0.153304,0.287445,9.58148
+accelerometer: 11958610803,0.0766519,0.594052,10.118
+accelerometer: 11958630945,0.344933,0.728193,9.92642
+accelerometer: 11958650934,0.134141,0.498237,9.84977
+accelerometer: 11958670953,0.344933,0.344933,9.524
+accelerometer: 11958690942,0.32577,0.479074,9.58148
+accelerometer: 11958710931,0.421585,0.689867,9.73479
+accelerometer: 11958730890,0.249119,0.555726,9.54316
+accelerometer: 11958751001,0.0766519,0.536563,9.48567
+accelerometer: 11958770837,0.153304,0.498237,9.48567
+accelerometer: 11958790765,-0.0958148,0.344933,9.77311
+accelerometer: 11958810816,0.344933,0.0766519,9.48567
+accelerometer: 11958830805,-0.0574889,0.32577,9.42818
+accelerometer: 11958850824,-0.153304,0.498237,9.40902
+accelerometer: 11958870783,0.229956,0.32577,9.40902
+accelerometer: 11958890772,0.0383259,0.440748,9.46651
+accelerometer: 11958910822,0.0383259,0.479074,9.65814
+accelerometer: 11958930902,0.153304,0.134141,9.71563
+accelerometer: 11958950983,0.268282,0.459911,9.75395
+accelerometer: 11958970972,0.383259,0.402422,9.94558
+accelerometer: 11958990778,0.210793,0.0766519,9.3132
+accelerometer: 11959010889,0.0958148,0.172467,9.69646
+accelerometer: 11959030756,0.019163,0.210793,8.94911
+accelerometer: 11959050867,-0.459911,0.344933,9.02576
+accelerometer: 11959071771,0.134141,0.210793,9.71563
+accelerometer: 11959090967,0,1.43722,9.61981
+accelerometer: 11959111292,0.249119,0.153304,10.0031
+accelerometer: 11959131006,0.134141,0.824008,9.71563
+accelerometer: 11959150964,-0.0766519,0.766519,9.29404
+accelerometer: 11959170923,-0.019163,0.114978,9.42818
+accelerometer: 11959190912,0.0766519,-0.019163,9.65814
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
new file mode 100644
index 0000000000..909e3e1a8f
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
@@ -0,0 +1,151 @@
+accelerometer: 4892293507,-0.0574889,-0.344933,9.37069
+orientation:4888720692,5
+accelerometer: 4892330952,-0.153304,-0.32577,9.46651
+accelerometer: 4892350941,-0.210793,0,9.61981
+accelerometer: 4892371785,-0.0766519,-0.153304,9.524
+irProximity:4892378722,0.290196
+accelerometer: 4892390553,-0.153304,-0.5174,9.50483
+proximity:4892401000,0
+accelerometer: 4892411000,0.0383259,-0.210793,9.84977
+accelerometer: 4892430928,0.114978,0.0383259,9.86893
+accelerometer: 4892450917,-0.0958148,-0.0766519,9.60065
+accelerometer: 4892470753,-0.0574889,-0.0383259,9.88809
+accelerometer: 4892490925,0.344933,-0.172467,9.90726
+accelerometer: 4892511006,0.172467,-0.249119,9.54316
+accelerometer: 4892531025,0.114978,0.0958148,9.69646
+accelerometer: 4892550953,-4.82907,0.114978,9.92642
+accelerometer: 4892570820,-0.0958148,-0.306608,10.0414
+accelerometer: 4892590931,-0.0958148,-0.306608,9.71563
+accelerometer: 4892610951,-0.0958148,-0.383259,9.65814
+accelerometer: 4892630940,-0.32577,-0.498237,9.61981
+accelerometer: 4892650929,-0.383259,-0.153304,9.54316
+accelerometer: 4892670765,-0.459911,0.0766519,9.86893
+accelerometer: 4892690907,-0.32577,-0.268282,9.8306
+accelerometer: 4892710927,-0.440748,-0.114978,9.44734
+accelerometer: 4892730946,-0.670704,-0.114978,9.71563
+accelerometer: 4892750966,-0.498237,-0.383259,9.90726
+accelerometer: 4892770955,-0.440748,-0.402422,9.524
+accelerometer: 4892790974,-0.689867,-0.172467,9.35153
+accelerometer: 4892810963,-0.670704,-0.32577,9.3132
+accelerometer: 4892830922,-0.651541,-0.440748,9.3132
+accelerometer: 4892850941,-0.785682,-0.268282,9.23655
+accelerometer: 4892870930,-0.843171,-0.421585,9.23655
+accelerometer: 4892890889,-0.5174,-0.210793,9.44734
+accelerometer: 4892910939,-0.613215,-0.632378,9.33237
+accelerometer: 4892930928,-0.651541,-0.268282,9.71563
+accelerometer: 4892950947,-0.651541,-0.421585,9.96474
+accelerometer: 4892970936,-0.344933,-0.613215,9.96474
+accelerometer: 4892990773,-0.440748,-0.574889,9.46651
+accelerometer: 4893011067,-0.498237,-0.536563,9.84977
+accelerometer: 4893031087,-0.5174,-0.421585,9.54316
+accelerometer: 4893050892,-0.536563,-0.459911,9.56232
+accelerometer: 4893070942,-0.670704,-0.536563,9.40902
+accelerometer: 4893091054,-0.574889,-0.459911,9.37069
+accelerometer: 4893110920,-0.440748,-0.594052,9.46651
+accelerometer: 4893130940,-0.670704,-0.344933,9.54316
+accelerometer: 4893150929,-0.344933,-0.440748,9.23655
+accelerometer: 4893170918,-0.019163,-0.536563,8.83413
+accelerometer: 4893191060,0.114978,-0.344933,8.75748
+accelerometer: 4893210927,1.11145,-0.019163,7.99096
+accelerometer: 4893230946,3.23854,1.0348,8.01012
+accelerometer: 4893250935,5.34647,1.57136,8.35505
+accelerometer: 4893271504,7.05197,1.78216,7.03281
+accelerometer: 4893290974,8.91078,2.91277,5.40396
+orientation:4893290974,4
+accelerometer: 4893310689,10.5971,2.79779,2.79779
+accelerometer: 4893331013,11.0379,2.0696,1.14978
+accelerometer: 4893350880,10.0031,2.51035,0.843171
+accelerometer: 4893370900,8.10594,0.421585,1.13062
+irProximity:4893386626,0.294118
+accelerometer: 4893390950,6.51541,0.977311,0
+accelerometer: 4893410908,7.41607,0.689867,-4.36916
+accelerometer: 4893430897,8.4892,1.3989,-8.29757
+accelerometer: 4893450886,9.06409,1.49471,-8.60417
+accelerometer: 4893470753,8.22091,0.862334,-7.12862
+irProximity:4893487426,0.290196
+accelerometer: 4893490956,7.37774,0.306608,-6.76453
+accelerometer: 4893510945,8.1251,0.843171,-5.55726
+accelerometer: 4893530934,9.84977,0.90066,-3.69845
+accelerometer: 4893550953,11.402,0.651541,-1.87797
+accelerometer: 4893570973,12.6859,0.70903,-0.938986
+accelerometer: 4893590931,12.9925,0.651541,1.24559
+accelerometer: 4893610951,12.6476,1.60969,2.79779
+accelerometer: 4893631032,11.8044,1.16894,4.08171
+accelerometer: 4893650929,11.1337,1.60969,5.32731
+accelerometer: 4893670949,9.0066,0.728193,5.74889
+irProximity:4893688934,0.294118
+accelerometer: 4893690877,5.90219,0.70903,5.42312
+accelerometer: 4893710896,2.12709,0.383259,4.84823
+accelerometer: 4893730885,-0.766519,0.689867,5.71057
+accelerometer: 4893750996,-1.80132,-0.0958148,7.49272
+orientation:4893750996,5
+accelerometer: 4893770955,-1.85881,-0.5174,9.29404
+irProximity:4893789733,0.290196
+accelerometer: 4893790974,-2.12709,-0.114978,9.14074
+accelerometer: 4893810933,-2.37621,-4.88656,8.39338
+accelerometer: 4893830952,-2.20374,-0.134141,8.4892
+accelerometer: 4893850972,-1.57136,-0.421585,9.79228
+accelerometer: 4893870991,-1.80132,-0.421585,9.96474
+accelerometer: 4893890889,-1.82048,-0.210793,9.50483
+accelerometer: 4893910969,-1.53304,-0.114978,9.50483
+accelerometer: 4893930928,-1.53304,-0.19163,9.63897
+accelerometer: 4893950917,-1.59053,-0.210793,9.69646
+accelerometer: 4893970936,-1.5522,0.0574889,9.84977
+accelerometer: 4893991017,-1.37973,0.0766519,9.86893
+accelerometer: 4894010823,-1.37973,-4.71409,9.60065
+accelerometer: 4894030934,-1.26476,-0.153304,9.54316
+accelerometer: 4894050984,-1.09229,-0.0574889,9.48567
+accelerometer: 4894070973,-0.90066,0.0958148,9.48567
+accelerometer: 4894091115,-0.728193,-0.229956,9.42818
+accelerometer: 4894110951,-0.574889,-0.364096,9.54316
+accelerometer: 4894130971,-0.824008,-0.0766519,9.44734
+accelerometer: 4894150929,-0.249119,0.0383259,9.98391
+accelerometer: 4894170918,-0.479074,-0.383259,9.58148
+accelerometer: 4894190693,-0.344933,-0.0958148,9.61981
+accelerometer: 4894210896,-0.383259,0.0574889,9.63897
+accelerometer: 4894230946,-0.402422,-0.229956,9.69646
+accelerometer: 4894250935,-0.344933,-0.383259,9.46651
+accelerometer: 4894270955,-0.268282,-0.019163,9.65814
+accelerometer: 4894290852,-0.134141,-0.32577,9.81144
+accelerometer: 4894310994,0.153304,-0.306608,9.524
+accelerometer: 4894330769,0.0383259,-0.19163,9.40902
+accelerometer: 4894351002,-0.153304,-0.0766519,9.60065
+accelerometer: 4894370991,0.229956,-0.440748,10.0031
+accelerometer: 4894390889,-0.0574889,-0.229956,9.6773
+accelerometer: 4894410908,-0.172467,-0.249119,9.65814
+accelerometer: 4894430958,-0.229956,-0.229956,9.63897
+accelerometer: 4894450886,-0.0958148,-0.402422,9.37069
+accelerometer: 4894470753,-0.134141,-0.421585,9.60065
+accelerometer: 4894490925,-0.0766519,-0.613215,9.48567
+accelerometer: 4894510975,-0.0766519,-0.383259,9.6773
+accelerometer: 4894530812,-0.268282,0.0383259,9.71563
+accelerometer: 4894550953,-0.364096,4.82907,9.524
+accelerometer: 4894570973,-0.0766519,-0.574889,9.56232
+accelerometer: 4894590779,-0.306608,-0.555726,9.38986
+accelerometer: 4894610890,-0.613215,-0.287445,9.54316
+accelerometer: 4894630940,-0.498237,-0.0766519,9.40902
+accelerometer: 4894650960,-0.383259,-0.229956,9.58148
+accelerometer: 4894670918,-0.210793,-0.364096,9.58148
+accelerometer: 4894690816,-0.287445,-0.383259,9.65814
+accelerometer: 4894710896,-0.364096,-0.287445,9.61981
+accelerometer: 4894730916,-0.344933,-0.421585,9.48567
+accelerometer: 4894750966,-0.479074,-0.287445,9.35153
+accelerometer: 4894770955,-0.402422,-0.383259,9.63897
+accelerometer: 4894790822,-0.383259,-0.268282,9.63897
+accelerometer: 4894810963,-0.689867,-0.32577,9.10241
+accelerometer: 4894830922,-0.555726,-0.306608,9.17906
+accelerometer: 4894850941,-0.70903,-0.287445,9.48567
+accelerometer: 4894873494,-0.574889,-0.440748,9.46651
+accelerometer: 4894890950,-0.479074,-0.383259,9.58148
+accelerometer: 4894910786,-0.613215,-0.364096,9.6773
+accelerometer: 4894930775,-0.498237,-0.536563,9.69646
+accelerometer: 4894950795,-0.5174,-0.440748,9.75395
+accelerometer: 4894970814,-0.498237,-0.613215,9.71563
+accelerometer: 4894990803,-0.651541,-0.689867,9.65814
+accelerometer: 4895010823,-0.383259,-0.670704,9.98391
+accelerometer: 4895030812,-0.210793,-0.651541,10.1564
+accelerometer: 4895050801,-0.306608,-0.555726,10.2522
+accelerometer: 4895071004,-0.306608,-0.5174,10.0414
+accelerometer: 4895090840,-0.479074,-0.306608,9.54316
+accelerometer: 4895110859,-0.594052,-0.402422,8.20175
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat
new file mode 100644
index 0000000000..2e863fcbe6
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat
@@ -0,0 +1,43 @@
+irProximity:16491519325,0.286275
+proximity:16453336069,0
+orientation:0,5
+accelerometer: 1335457748904,-1.1881,0.670704,9.77311
+accelerometer: 1335457749003,-1.30308,0.306608,9.60065
+accelerometer: 1335457749103,-1.82048,0.32577,9.3132
+accelerometer: 1335457749203,-1.43722,0.249119,9.71563
+accelerometer: 1335457749303,-1.13062,0.153304,9.73479
+irProximity:16492124000,0.282353
+accelerometer: 1335457749405,-1.9163,0.536563,9.6773
+irProximity:16492224647,0.286275
+accelerometer: 1335457749503,-1.9163,0.555726,9.54316
+accelerometer: 1335457749603,-1.62885,0.613215,9.88809
+accelerometer: 1335457749703,-2.75947,0.90066,10.7696
+irProximity:16492526405,0.282353
+accelerometer: 1335457749803,-5.92136,-1.3989,0.785682
+irProximity:16492626900,0.286275
+accelerometer: 1335457749903,-8.31673,2.28039,-1.05396
+accelerometer: 1335457750003,-11.3828,0.440748,-2.91277
+irProximity:16492828010,0.294118
+accelerometer: 1335457750103,-9.23655,2.01211,-1.51387
+irProximity:16492928535,0.290196
+accelerometer: 1335457750207,-8.60417,1.68634,-1.28392
+orientation:0,3
+irProximity:16493029121,0.286275
+accelerometer: 1335457750303,-2.49119,0.728193,4.57995
+accelerometer: 1335457750403,1.14978,-0.613215,13.5674
+accelerometer: 1335457750503,0.574889,0.229956,10.2714
+accelerometer: 1335457750604,0.804845,0.5174,10.2905
+orientation:0,5
+accelerometer: 1335457750703,0.0383259,-0.0958148,9.44734
+accelerometer: 1335457750803,0.651541,-0.306608,10.0606
+accelerometer: 1335457750903,-0.153304,-0.0383259,9.54316
+accelerometer: 1335457751003,0.344933,0.114978,9.79228
+accelerometer: 1335457751103,0.0958148,0,9.56232
+accelerometer: 1335457751203,0.019163,0,9.524
+accelerometer: 1335457751303,0.134141,-0.0383259,9.48567
+accelerometer: 1335457751403,0.114978,-0.0766519,9.56232
+accelerometer: 1335457751503,-0.153304,0.153304,9.63897
+accelerometer: 1335457751603,-0.210793,0.268282,9.84977
+accelerometer: 1335457751703,0.0383259,0.19163,10.0031
+accelerometer: 1335457751803,-0.210793,0.210793,9.48567
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat
new file mode 100644
index 0000000000..8c8eba3a24
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat
@@ -0,0 +1,148 @@
+orientation:11043900509,5
+accelerometer: 11122850857,0.114978,1.53304,9.25571
+accelerometer: 11122870938,0.114978,1.45639,10.0031
+accelerometer: 11122890957,0.0766519,0.90066,9.90726
+irProximity:11122905708,0.286275
+proximity:11122909156,0
+accelerometer: 11122910641,-0.229956,0.862334,9.524
+accelerometer: 11122930935,0.440748,1.45639,9.63897
+accelerometer: 11122950955,-0.019163,1.72467,9.40902
+accelerometer: 11122970974,-0.172467,1.99295,9.54316
+accelerometer: 11122990811,-0.0383259,2.01211,9.35153
+accelerometer: 11123010830,0.0958148,1.68634,9.44734
+accelerometer: 11123030972,-0.0958148,1.30308,9.58148
+accelerometer: 11123050961,-0.306608,1.20727,8.81497
+accelerometer: 11123070706,-0.287445,2.18458,8.73831
+accelerometer: 11123091000,-0.459911,4.6566,9.12157
+accelerometer: 11123110745,-0.747356,5.21233,9.86893
+accelerometer: 11123130978,-0.268282,2.0696,10.4438
+accelerometer: 11123150784,-0.383259,2.60616,9.08325
+accelerometer: 11123170987,-0.498237,3.31519,8.56585
+accelerometer: 11123190945,0,2.97026,9.29404
+accelerometer: 11123211148,-0.555726,2.7403,8.91078
+accelerometer: 11123230801,-0.5174,2.47202,9.10241
+accelerometer: 11123250943,-0.747356,2.75947,9.17906
+accelerometer: 11123270962,-0.632378,2.29956,9.19823
+accelerometer: 11123290921,-0.70903,2.29956,9.19823
+accelerometer: 11123311032,-0.785682,2.56784,9.0066
+accelerometer: 11123330960,-0.402422,2.66365,9.40902
+accelerometer: 11123350918,-0.344933,2.7403,8.81497
+accelerometer: 11123370938,-0.287445,2.98942,8.45087
+accelerometer: 11123390927,-0.383259,2.72114,9.02576
+accelerometer: 11123410641,-0.268282,2.68282,9.44734
+accelerometer: 11123430966,-0.268282,2.45286,9.27488
+accelerometer: 11123450955,-0.19163,2.68282,9.33237
+accelerometer: 11123470974,-0.134141,2.49119,9.3132
+accelerometer: 11123490964,-0.32577,2.49119,9.21739
+accelerometer: 11123510647,-0.459911,2.7403,9.25571
+accelerometer: 11123530942,-0.0383259,2.60616,9.21739
+accelerometer: 11123550961,0.114978,2.31872,9.21739
+accelerometer: 11123570736,0.172467,2.75947,8.75748
+accelerometer: 11123590756,0.0958148,2.98942,8.33589
+accelerometer: 11123610653,0.210793,2.85528,8.62334
+accelerometer: 11123630978,0.32577,3.02775,7.58854
+accelerometer: 11123650967,0.019163,3.2577,6.87951
+accelerometer: 11123670956,0.632378,3.7751,6.40043
+accelerometer: 11123690976,0.229956,3.54515,8.25924
+accelerometer: 11123710843,0.172467,3.02775,11.3062
+accelerometer: 11123730954,0.402422,2.08876,15.3687
+accelerometer: 11123751034,-0.172467,0.459911,21.2326
+accelerometer: 11123771023,-1.20727,-0.670704,25.6592
+accelerometer: 11123791897,-3.2577,-1.05396,27.633
+accelerometer: 11123810574,-2.79779,-0.364096,25.3143
+accelerometer: 11123830807,-0.938986,0.402422,16.8442
+accelerometer: 11123850796,-0.114978,1.45639,9.98391
+accelerometer: 11123870816,0.383259,0.824008,4.63744
+accelerometer: 11123890744,0.114978,-0.32577,-0.479074
+accelerometer: 11123910794,0.555726,-0.153304,-4.33083
+irProximity:11123916053,0.290196
+accelerometer: 11123930966,0.364096,-2.10793,-8.87245
+accelerometer: 11123950924,-1.24559,-3.35352,-22.0757
+accelerometer: 11123971005,-2.587,-9.92642,-39.2266
+accelerometer: 11123990780,-5.65308,-18.339,-39.2266
+accelerometer: 11124010861,-3.7751,-24.5286,-39.2266
+irProximity:11124017005,0.294118
+accelerometer: 11124030972,2.98942,-24.8927,-16.6909
+accelerometer: 11124050992,21.6925,-29.7793,21.7691
+accelerometer: 11124071072,18.1473,-38.3834,39.2458
+accelerometer: 11124090970,-3.67929,-38.0385,39.2458
+accelerometer: 11124110989,-5.30814,-19.6229,39.2458
+irProximity:11124117896,0.290196
+accelerometer: 11124130765,-3.41101,-2.03127,31.753
+accelerometer: 11124150998,0.32577,1.34141,9.524
+accelerometer: 11124170651,2.52951,2.47202,0.0574889
+accelerometer: 11124190762,4.15836,3.33436,-7.07114
+accelerometer: 11124210965,3.23854,1.97379,-9.54316
+irProximity:11124218879,0.286275
+accelerometer: 11124230984,3.18105,2.24207,-4.54162
+accelerometer: 11124250973,3.2577,1.49471,1.87797
+accelerometer: 11124270810,1.66718,1.62885,9.81144
+accelerometer: 11124290799,-0.364096,1.11145,15.1579
+accelerometer: 11124310818,-1.64802,1.11145,15.1771
+accelerometer: 11124330777,-2.03127,1.0348,13.3374
+accelerometer: 11124350979,-1.68634,1.20727,10.6929
+accelerometer: 11124370968,-0.613215,1.62885,9.35153
+accelerometer: 11124390896,0.153304,2.03127,8.4892
+accelerometer: 11124410794,0.402422,1.74383,7.4544
+accelerometer: 11124430874,0.364096,1.9163,7.9718
+accelerometer: 11124450955,0.670704,1.76299,8.96827
+accelerometer: 11124470974,0.440748,1.24559,8.29757
+accelerometer: 11124490964,0.498237,1.41806,8.47003
+accelerometer: 11124510800,0.766519,1.99295,8.85329
+accelerometer: 11124530972,0.785682,2.08876,9.88809
+accelerometer: 11124550961,0.670704,1.99295,10.233
+accelerometer: 11124570950,0.344933,1.74383,10.2714
+accelerometer: 11124590970,0.574889,1.45639,9.88809
+accelerometer: 11124610776,0.0958148,1.59053,9.44734
+accelerometer: 11124630917,0.019163,1.72467,9.37069
+accelerometer: 11124650937,-0.134141,1.60969,9.88809
+accelerometer: 11124670987,-0.32577,1.74383,9.8306
+accelerometer: 11124690945,-0.172467,1.82048,9.56232
+accelerometer: 11124710965,0.0958148,1.47555,9.33237
+accelerometer: 11124730954,-0.0766519,1.24559,9.19823
+accelerometer: 11124750973,0.0766519,1.62885,9.37069
+accelerometer: 11124770932,0.0766519,1.5522,8.94911
+accelerometer: 11124790951,0.249119,1.97379,9.33237
+accelerometer: 11124810910,0.268282,1.64802,9.44734
+accelerometer: 11124830868,0.287445,1.76299,9.23655
+accelerometer: 11124850949,0.229956,1.64802,8.71915
+accelerometer: 11124870938,0.421585,1.72467,9.40902
+accelerometer: 11124890927,0.32577,1.5522,9.06409
+accelerometer: 11124910946,0.344933,1.80132,9.08325
+accelerometer: 11124930935,0.306608,1.66718,9.21739
+accelerometer: 11124950985,0.402422,1.93546,9.1599
+accelerometer: 11124970975,0.32577,1.99295,9.06409
+accelerometer: 11124990811,0.153304,1.76299,9.33237
+accelerometer: 11125010922,0.268282,1.7055,9.56232
+accelerometer: 11125030911,0.594052,1.62885,9.06409
+accelerometer: 11125050961,0.306608,1.93546,9.17906
+accelerometer: 11125070889,0.344933,1.78216,9.17906
+accelerometer: 11125090970,-0.153304,1.62885,9.3132
+accelerometer: 11125110928,0.0574889,1.57136,9.25571
+accelerometer: 11125130887,0.229956,1.45639,9.524
+accelerometer: 11125150998,0.19163,1.59053,9.524
+accelerometer: 11125170956,0.249119,1.66718,9.63897
+accelerometer: 11125190976,0.019163,1.43722,9.69646
+accelerometer: 11125210995,0.114978,1.74383,9.56232
+accelerometer: 11125230923,0.249119,1.68634,9.37069
+accelerometer: 11125250943,0.306608,1.72467,9.3132
+accelerometer: 11125270962,0.306608,1.5522,9.88809
+accelerometer: 11125290982,0.114978,1.37973,9.71563
+accelerometer: 11125310971,0.114978,1.5522,9.50483
+accelerometer: 11125330899,0.0574889,1.5522,9.69646
+accelerometer: 11125350949,-0.153304,1.74383,9.27488
+accelerometer: 11125372281,0.019163,1.85881,8.94911
+accelerometer: 11125390866,-0.287445,1.89713,8.81497
+accelerometer: 11125410794,-0.19163,1.43722,9.40902
+accelerometer: 11125430996,-0.153304,1.11145,10.0606
+accelerometer: 11125450802,-0.0766519,1.36057,10.0989
+accelerometer: 11125470913,0.0766519,1.20727,9.58148
+accelerometer: 11125490933,-0.114978,1.34141,9.69646
+accelerometer: 11125510830,0.19163,1.47555,9.94558
+accelerometer: 11125531033,0.153304,1.51387,9.63897
+accelerometer: 11125550961,-0.0766519,1.76299,9.71563
+accelerometer: 11125570920,0.249119,1.45639,9.71563
+accelerometer: 11125591000,-0.153304,1.43722,9.56232
+accelerometer: 11125610989,-0.766519,1.83965,8.96827
+accelerometer: 11125630948,-0.479074,1.30308,9.37069
+
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat
new file mode 100644
index 0000000000..ccdcb1c890
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat
@@ -0,0 +1,42 @@
+irProximity:22645635549,0.286275
+proximity:22630498159,0
+orientation:0,5
+accelerometer: 1335463903054,0.306608,1.01564,9.54316
+accelerometer: 1335463903153,0.19163,0.90066,9.61981
+accelerometer: 1335463903253,0.210793,1.30308,9.69646
+accelerometer: 1335463903353,-0.306608,0.632378,9.6773
+accelerometer: 1335463903453,-0.402422,0.919823,9.524
+accelerometer: 1335463903553,0.229956,0.919823,9.61981
+accelerometer: 1335463903653,-0.114978,0.90066,9.38986
+accelerometer: 1335463903753,-0.249119,0.747356,9.61981
+accelerometer: 1335463903854,0.689867,1.16894,9.44734
+accelerometer: 1335463903953,16.8442,0.268282,11.7277
+accelerometer: 1335463904053,-22.1332,6.34294,6.95616
+accelerometer: 1335463904153,10.8846,-20.2744,10.2522
+accelerometer: 1335463904253,39.2074,-5.74889,8.14426
+accelerometer: 1335463904353,-39.2458,-12.6667,10.5971
+irProximity:22647146962,0.282353
+accelerometer: 1335463904454,39.2266,-8.04845,31.8105
+irProximity:22647248006,0.286275
+accelerometer: 1335463904553,2.91277,-20.0061,4.63744
+accelerometer: 1335463904653,-39.2458,-15.1579,8.85329
+accelerometer: 1335463904753,39.2266,-3.9859,19.2971
+accelerometer: 1335463904853,-16.0202,-2.64449,9.40902
+irProximity:22647652303,0.282353
+accelerometer: 1335463904953,-3.31519,3.94757,8.47003
+irProximity:22647753346,0.286275
+accelerometer: 1335463905053,0.134141,2.62533,8.81497
+accelerometer: 1335463905153,1.07313,2.41453,9.73479
+accelerometer: 1335463905253,0.862334,2.24207,9.84977
+accelerometer: 1335463905353,0.843171,2.29956,9.63897
+accelerometer: 1335463905453,0.766519,2.2229,9.29404
+accelerometer: 1335463905553,1.60969,1.99295,9.19823
+accelerometer: 1335463905653,1.13062,1.72467,9.58148
+accelerometer: 1335463905753,1.26476,1.66718,9.38986
+accelerometer: 1335463905853,0.843171,1.60969,9.33237
+accelerometer: 1335463905953,0.689867,1.43722,9.50483
+accelerometer: 1335463906053,0.0958148,1.59053,9.56232
+accelerometer: 1335463906153,0,1.22643,9.81144
+irProximity:22648964070,0.282353
+accelerometer: 1335463906253,0.421585,1.85881,9.40902
+
diff --git a/tests/auto/qsensorgestures_gestures/mockbackends.h b/tests/auto/qsensorgestures_gestures/mockbackends.h
new file mode 100644
index 0000000000..13ef950ddc
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mockbackends.h
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef MOCKBACKENDS_H
+#define MOCKBACKENDS_H
+
+#include "mockcommon.h"
+
+#include <qsensorplugin.h>
+#include <qsensorbackend.h>
+#include <qsensormanager.h>
+
+#include <QAccelerometer>
+#include <QOrientationSensor>
+#include <QIRProximitySensor>
+#include <QProximitySensor>
+
+#include <QFile>
+#include <QDebug>
+#include <QTest>
+
+
+class mockSensorPlugin : public QObject,
+ public QSensorPluginInterface,
+ public QSensorBackendFactory
+{
+ Q_OBJECT
+ // Q_PLUGIN_METADATA(IID "com.nokia.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
+ Q_INTERFACES(QSensorPluginInterface)
+public:
+ QString m_filename;
+
+ void registerSensors()
+ {
+ qDebug() << "loaded the mock plugin";
+
+ QSensorManager::registerBackend("QAccelerometer", mockaccelerometer::id, this);
+ QSensorManager::registerBackend("QIRProximitySensor", mockirproximitysensor::id, this);
+ QSensorManager::registerBackend("QOrientationSensor", mockorientationsensor::id, this);
+ QSensorManager::registerBackend("QTapSensor", mocktapsensor::id, this);
+ QSensorManager::registerBackend("QProximitySensor", mockproximitysensor::id, this);
+ }
+
+ void unregisterSensors()
+ {
+ QSensorManager::unregisterBackend("QAccelerometer", mockaccelerometer::id);
+ QSensorManager::unregisterBackend("QIRProximitySensor", mockirproximitysensor::id);
+ QSensorManager::unregisterBackend("QOrientationSensor", mockorientationsensor::id);
+ QSensorManager::unregisterBackend("QTapSensor", mocktapsensor::id);
+ QSensorManager::unregisterBackend("QProximitySensor", mockproximitysensor::id);
+ }
+
+
+ QSensorBackend *createBackend(QSensor *sensor)
+ {
+ if (sensor->identifier() == mockaccelerometer::id) {
+ return new mockaccelerometer(sensor);
+ }
+
+ if (sensor->identifier() == mockorientationsensor::id) {
+ return new mockorientationsensor(sensor);
+ }
+
+ if (sensor->identifier() == mockirproximitysensor::id) {
+ return new mockirproximitysensor(sensor);
+ }
+ if (sensor->identifier() == mocktapsensor::id) {
+ return new mocktapsensor(sensor);
+ }
+ if (sensor->identifier() == mockproximitysensor::id) {
+ return new mockproximitysensor(sensor);
+ }
+
+ qWarning() << "Can't create backend" << sensor->identifier();
+ return 0;
+ }
+};
+
+#endif
diff --git a/tests/auto/qsensorgestures_gestures/mockcommon.cpp b/tests/auto/qsensorgestures_gestures/mockcommon.cpp
new file mode 100644
index 0000000000..63c7c8c6cf
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mockcommon.cpp
@@ -0,0 +1,253 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QTimer>
+#include <QDebug>
+#include <QCoreApplication>
+#include "mockcommon.h"
+
+Q_GLOBAL_STATIC(mockcommonPrivate, mockcommonPrv)
+
+mockcommonPrivate *mockcommonPrivate::instance()
+{
+ return mockcommonPrv();
+}
+
+mockcommonPrivate::mockcommonPrivate()
+ : QObject(),prevts(50), firstRun(0)
+{
+ readTimer = new QTimer(this);
+ readTimer->setSingleShot(true);
+ connect(readTimer,SIGNAL(timeout()),this,SLOT(timerout()));
+}
+
+void mockcommonPrivate::timerout()
+{
+ while (pFile.isOpen() && !pFile.atEnd()) {
+ QString line = pFile.readLine();
+ if (!line.isNull()) {
+ if (parseData(line)) {
+ readTimer->start();
+ break;
+ }
+ }
+ }
+}
+
+bool mockcommonPrivate::setFile(const QString &filename)
+{
+ if (filename.isEmpty())
+ return false;
+
+ if (pFile.isOpen()) {
+ pFile.close();
+ }
+ oldAccelTs = 0;
+ firstRun = true;
+ pFile.setFileName(QCoreApplication::instance()->applicationDirPath() + "/" + filename);
+ bool ok = pFile.open(QIODevice::ReadOnly);
+ if (!ok) {
+ pFile.setFileName(SRCDIR "/" + filename);
+ ok = pFile.open(QIODevice::ReadOnly);
+ }
+ return ok;
+}
+
+bool mockcommonPrivate::parseData(const QString &line)
+{
+ bool ok = false;
+ QString sensorToken = line.section(QLatin1String(":"),0, 0).trimmed();
+ QString data = line.section(QLatin1String(":"),1, 1).trimmed();
+
+ if (sensorToken == QLatin1String("accelerometer")) {
+ if (!firstRun) {
+ Q_EMIT accelData(data);
+ if (prevts == 0 || prevts > 90000 )
+ prevts = 20000; // use 20 Hz
+ if (prevts > 90000 ) // original slam timestamps are wrong
+ prevts = 100000; //use 100 Hz
+ readTimer->setInterval((int)prevts/1000);
+ } else {
+ firstRun = false;
+ }
+ quint64 ts = data.section(QLatin1String(","), 0,0).toULongLong();
+ ok = true;
+ qreal difference;
+ if (oldAccelTs == 0) {
+ oldAccelTs = ts;
+ }
+ difference = ts - oldAccelTs;
+
+ if (difference < 1
+ || difference == ts) {
+ int hertz = 50;
+ readTimer->setInterval((1.0/hertz)*1000);
+ } else {
+ if (firstRun)
+ readTimer->setInterval((int)difference/1000);
+ }
+ oldAccelTs = ts;
+ prevts = difference;
+
+ } else if (sensorToken == QLatin1String("irProximity")) {
+ Q_EMIT irProxyData(data);
+ } else if (sensorToken == QLatin1String("orientation")) {
+ Q_EMIT orientData(data);
+ } else if (sensorToken == QLatin1String("tap")) {
+ Q_EMIT tapData(data); //just send this it takes only one to be detected
+ } else if (sensorToken == QLatin1String("proximity")) {
+ Q_EMIT proxyData(data);
+ }
+ return ok;
+}
+
+
+mockcommon::mockcommon(QSensor *sensor)
+ : QSensorBackend(sensor), timer(0)
+{
+ mockcommonPrv()->readTimer->setInterval(0);
+}
+
+void mockcommon::start()
+{
+ if (!mockcommonPrv()->readTimer->isActive()) {
+ mockcommonPrv()->readTimer->start();
+ }
+}
+
+void mockcommon::stop()
+{
+ if (mockcommonPrv()->readTimer->isActive()) {
+ mockcommonPrv()->readTimer->stop();
+ }
+}
+
+char const * const mockaccelerometer::id("mock.accelerometer");
+
+mockaccelerometer::mockaccelerometer(QSensor *sensor)
+ : mockcommon(sensor)
+{
+ setReading<QAccelerometerReading>(&m_reading);
+ addDataRate(50, 50); // 50
+
+ connect(mockcommonPrv(),SIGNAL(accelData(QString)),this,SLOT(parseAccelData(QString)));
+}
+
+void mockaccelerometer::parseAccelData(const QString &data)
+{
+ quint64 ts = data.section(QLatin1String(","), 0,0).toULongLong();
+ m_reading.setTimestamp(ts);
+ m_reading.setX(data.section(QLatin1String(","), 1,1).toDouble());
+ m_reading.setY(data.section(QLatin1String(","), 2,2).toDouble());
+ m_reading.setZ(data.section(QLatin1String(","), 3,3).toDouble());
+ newReadingAvailable();
+}
+
+char const * const mockorientationsensor::id("mock.orientation");
+
+mockorientationsensor::mockorientationsensor(QSensor *sensor)
+ : mockcommon(sensor)
+{
+ setReading<QOrientationReading>(&m_reading);
+ addDataRate(50, 50); // 50Hz
+ connect(mockcommonPrv(),SIGNAL(orientData(QString)),this,SLOT(parseOrientData(QString)));
+}
+
+void mockorientationsensor::parseOrientData(const QString &data)
+{
+ m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
+ m_reading.setOrientation(static_cast<QOrientationReading::Orientation>(data.section(QLatin1String(","), 1,1).toInt()));
+
+ newReadingAvailable();
+}
+
+char const * const mockirproximitysensor::id("mock.irproximity");
+
+mockirproximitysensor::mockirproximitysensor(QSensor *sensor)
+ : mockcommon(sensor)
+{
+ setReading<QIRProximityReading>(&m_reading);
+ addDataRate(50, 50); // 50Hz
+ connect(mockcommonPrv(),SIGNAL(irProxyData(QString)),this,SLOT(parseIrProxyData(QString)));
+}
+
+void mockirproximitysensor::parseIrProxyData(const QString &data)
+{
+ m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
+ m_reading.setReflectance(data.section(QLatin1String(","), 1,1).toDouble());
+
+ newReadingAvailable();
+}
+
+char const * const mocktapsensor::id("mock.tap");
+
+mocktapsensor::mocktapsensor(QSensor *sensor)
+ : mockcommon(sensor)
+{
+ setReading<QTapReading>(&m_reading);
+ addDataRate(50, 50); // 50Hz
+ connect(mockcommonPrv(),SIGNAL(tapData(QString)),this,SLOT(parseTapData(QString)));
+}
+
+void mocktapsensor::parseTapData(const QString &data)
+{
+ m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
+ m_reading.setDoubleTap((data.section(QLatin1String(","), 1,1).toInt() == 1));
+
+ newReadingAvailable();
+}
+
+char const * const mockproximitysensor::id("mock.proximity");
+
+mockproximitysensor::mockproximitysensor(QSensor *sensor)
+ : mockcommon(sensor)
+{
+ setReading<QProximityReading>(&m_reading);
+ addDataRate(50, 50); // 50Hz
+ connect(mockcommonPrv(),SIGNAL(proxyData(QString)),this,SLOT(parseProxyData(QString)));
+}
+
+void mockproximitysensor::parseProxyData(const QString &data)
+{
+ m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
+ m_reading.setClose((data.section(QLatin1String(","), 1,1).toInt() == 1));
+
+ newReadingAvailable();
+}
diff --git a/tests/auto/qsensorgestures_gestures/mockcommon.h b/tests/auto/qsensorgestures_gestures/mockcommon.h
new file mode 100644
index 0000000000..6adfde8ee8
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/mockcommon.h
@@ -0,0 +1,193 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef MOCKCOMMON_H
+#define MOCKCOMMON_H
+
+#include <qsensorbackend.h>
+
+#include <QSensor>
+#include <QTimer>
+#include <QAccelerometer>
+#include <QOrientationSensor>
+#include <QIRProximitySensor>
+#include <QProximitySensor>
+#include <QTapSensor>
+
+#include <QFile>
+#include <QTextStream>
+
+class mockcommonPrivate : public QObject
+{
+ Q_OBJECT
+public:
+
+ mockcommonPrivate();
+
+ static mockcommonPrivate *instance();
+
+ bool setFile(const QString &);
+ bool parseData(const QString &line);
+ QTimer *readTimer;
+
+public slots:
+ void timerout();
+
+Q_SIGNALS:
+ void accelData(const QString &data);
+ void irProxyData(const QString &data);
+ void orientData(const QString &data);
+ void tapData(const QString &data);
+ void proxyData(const QString &data);
+
+private:
+ QFile pFile;
+ qreal oldAccelTs;
+ qreal prevts;
+ bool firstRun;
+};
+
+class mockcommon : public QSensorBackend
+{
+ Q_OBJECT
+public:
+ mockcommon(QSensor *sensor);
+
+ void start();
+ void stop();
+ static char const * const id;
+
+Q_SIGNALS:
+ void parseAccelData(const QString &data);
+ void parseIrProxyDatata(const QString &data);
+ void parseOrientData(const QString &data);
+ void parseTapData(const QString &data);
+ void parseProxyData(const QString &data);
+
+private:
+ int m_timerid;
+ friend class mockcommonPrivate;
+ QTimer *timer;
+ QSensor *parentSensor;
+
+};
+
+class mockaccelerometer : public mockcommon
+{
+ Q_OBJECT
+
+public:
+ static char const * const id;
+
+ mockaccelerometer(QSensor *sensor);
+
+public slots:
+ void parseAccelData(const QString &data);
+
+private:
+ QAccelerometerReading m_reading;
+ qreal lastTimestamp;
+};
+
+class mockorientationsensor : public mockcommon
+{
+ Q_OBJECT
+
+public:
+ static char const * const id;
+
+ mockorientationsensor(QSensor *sensor);
+public slots:
+
+ void parseOrientData(const QString &data);
+
+private:
+ QOrientationReading m_reading;
+};
+
+class mockirproximitysensor : public mockcommon
+{
+ Q_OBJECT
+
+public:
+ static char const * const id;
+
+ mockirproximitysensor(QSensor *sensor);
+public slots:
+
+ void parseIrProxyData(const QString &data);
+
+private:
+ QIRProximityReading m_reading;
+};
+
+class mocktapsensor : public mockcommon
+{
+ Q_OBJECT
+
+public:
+ static char const * const id;
+
+ mocktapsensor(QSensor *sensor);
+public slots:
+
+ void parseTapData(const QString &data);
+
+private:
+ QTapReading m_reading;
+};
+
+
+class mockproximitysensor : public mockcommon
+{
+ Q_OBJECT
+
+public:
+ static char const * const id;
+
+ mockproximitysensor(QSensor *sensor);
+public slots:
+
+ void parseProxyData(const QString &data);
+
+private:
+ QProximityReading m_reading;
+};
+#endif // MOCKCOMMON_H
diff --git a/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro b/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro
new file mode 100644
index 0000000000..f4051d014b
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro
@@ -0,0 +1,22 @@
+TEMPLATE = app
+TARGET = tst_sensorgestures_gestures
+CONFIG += testcase
+
+QT += core testlib sensors-private
+QT -= gui
+
+CONFIG += console
+CONFIG -= app_bundle
+
+
+SOURCES += tst_sensorgestures_gestures.cpp \
+ mockcommon.cpp
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+
+HEADERS += \
+ mockcommon.h \
+ mockbackends.h
+
+TESTDATA += mock_data dataset2_mock_data
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp b/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp
new file mode 100644
index 0000000000..496b958171
--- /dev/null
+++ b/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp
@@ -0,0 +1,427 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QString>
+#include <QtTest>
+#include <QtSensors/QSensorGestureManager>
+#include <QtSensors/QSensorGesture>
+#include <QFile>
+
+#include "mockbackends.h"
+
+class tst_sensorgestures_gestures : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_sensorgestures_gestures();
+
+private Q_SLOTS:
+ void initTestCase();
+
+ void testTiltedTwist();
+ void testNotHover2();
+ void testNotHover();
+ void testNotWhip();
+
+ void testSingleGestures();
+ void testSingleGestures_data();
+
+ void testSingleDataset2Gestures();
+ void testSingleDataset2Gestures_data();
+
+ void testTwist();
+ void testTwist_data();
+
+ void testShake2();
+ void testShake2_data();
+
+ void testShake();
+
+ void testAllGestures();
+ void testAllGestures_data();
+
+
+protected:
+ mockSensorPlugin plugin;
+
+};
+
+tst_sensorgestures_gestures::tst_sensorgestures_gestures()
+{
+}
+
+void tst_sensorgestures_gestures::initTestCase()
+{
+ qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
+ plugin.registerSensors();
+}
+
+void tst_sensorgestures_gestures::testSingleGestures()
+{
+ QFETCH(QString, gestureId);
+
+ QString name = "mock_data/sensordata_" + gestureId + ".dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+ QString gestStr = QLatin1String("QtSensors.") + gestureId;
+
+ QVERIFY(idList.contains(gestStr));
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
+ QVERIFY(gesture.data()->validIds().contains(gestStr));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+}
+
+void tst_sensorgestures_gestures::testSingleGestures_data()
+{
+ QTest::addColumn<QString>("gestureId");
+ QTest::newRow("cover") << "cover";
+ QTest::newRow("doubletap") << "doubletap";
+ QTest::newRow("hover") << "hover";
+ QTest::newRow("pickup") << "pickup";
+ QTest::newRow("shake2") << "shake2"; //multi?
+ QTest::newRow("slam") << "slam";
+ QTest::newRow("turnover") << "turnover";
+ QTest::newRow("twist") << "twist"; //multi?
+ QTest::newRow("whip") << "whip";
+}
+
+void tst_sensorgestures_gestures::testSingleDataset2Gestures()
+{
+ QFETCH(QString, gestureId);
+
+ QString name = "dataset2_mock_data/sensordata_" + gestureId + ".dat";
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QString gestStr = QLatin1String("QtSensors.") + gestureId;
+
+ QVERIFY(idList.contains(gestStr));
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
+ QVERIFY(gesture.data()->validIds().contains(gestStr));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+}
+
+void tst_sensorgestures_gestures::testSingleDataset2Gestures_data()
+{
+ QTest::addColumn<QString>("gestureId");
+ QTest::newRow("cover") << "cover";
+ QTest::newRow("doubletap") << "doubletap";
+ QTest::newRow("hover") << "hover";
+ QTest::newRow("pickup") << "pickup";
+ QTest::newRow("shake2") << "shake2"; //multi?
+ QTest::newRow("slam") << "slam";
+ QTest::newRow("turnover") << "turnover";
+ QTest::newRow("twist") << "twist"; //multi?
+ QTest::newRow("whip") << "whip";
+}
+
+void tst_sensorgestures_gestures::testTwist()
+{
+ QFETCH(QString, gestureSignal);
+
+ QString name = "mock_data/sensordata_" + gestureSignal + ".dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QString gestStr = QLatin1String("QtSensors.twist");
+
+ QVERIFY(idList.contains(gestStr));
+
+ QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << gestStr));
+ QVERIFY(gesture2.data()->validIds().contains(gestStr));
+
+ QSignalSpy spy_gesture(gesture2.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture2.data()->startDetection();
+ QCOMPARE(gesture2->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+ QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
+}
+
+void tst_sensorgestures_gestures::testTwist_data()
+{
+ QTest::addColumn<QString>("gestureSignal");
+ QTest::newRow("twistLeft") << "twistLeft";
+ QTest::newRow("twistRight") << "twistRight";
+}
+
+void tst_sensorgestures_gestures::testShake2()
+{
+ QFETCH(QString, gestureSignal);
+
+ QString name = "mock_data/sensordata_" + gestureSignal + ".dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QString gestStr = QLatin1String("QtSensors.shake2");
+
+ QVERIFY(idList.contains(gestStr));
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
+ QVERIFY(gesture.data()->validIds().contains(gestStr));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+ QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
+
+ gesture.data()->stopDetection();
+}
+
+void tst_sensorgestures_gestures::testShake2_data()
+{
+ QTest::addColumn<QString>("gestureSignal");
+ QTest::newRow("shakeLeft") << "shakeLeft";
+ QTest::newRow("shakeRight") << "shakeRight";
+ QTest::newRow("shakeUp") << "shakeUp";
+ QTest::newRow("shakeDown") << "shakeDown";
+}
+
+void tst_sensorgestures_gestures::testShake()
+{
+ QString gestureSignal = "shake";
+
+ QString name = "mock_data/sensordata_shake2.dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QString gestStr = QLatin1String("QtSensors.shake");
+
+ QVERIFY(idList.contains(gestStr));
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
+ QVERIFY(gesture.data()->validIds().contains(gestStr));
+
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+
+ QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
+ gesture.data()->stopDetection();
+}
+
+
+void tst_sensorgestures_gestures::testAllGestures_data()
+{
+ testSingleGestures_data();
+}
+
+void tst_sensorgestures_gestures::testAllGestures()
+{
+ QFETCH(QString, gestureId);
+
+ QString name = "dataset2_mock_data/sensordata_" + gestureId + ".dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QStringList gestStringList;
+
+ gestStringList << "QtSensors.cover"
+ << "QtSensors.doubletap"
+ << "QtSensors.hover"
+ << "QtSensors.pickup"
+ << "QtSensors.shake2"
+ << "QtSensors.slam"
+ << "QtSensors.turnover"
+ << "QtSensors.twist"
+ << "QtSensors.whip";
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
+
+ QCOMPARE(gesture->invalidIds().count(),0);
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+
+ gesture.data()->stopDetection();
+
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+ QString gestureSignal;
+ if (gestureId.right(1) == QLatin1String("2")) {
+ gestureSignal = "shakeLeft";
+ } else if (gestureId.contains("twist")) {
+ gestureSignal = "twistLeft";
+ } else {
+ gestureSignal = gestureId;
+ }
+
+ QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
+}
+
+void tst_sensorgestures_gestures::testNotHover()
+{
+ QString name = "mock_data/sensordata_nothover.dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QStringList gestStringList;
+
+ gestStringList << "QtSensors.hover";
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
+
+ QCOMPARE(gesture->invalidIds().count(),0);
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),0, 2000);
+
+}
+
+void tst_sensorgestures_gestures::testNotWhip()
+{
+
+ QString name = "mock_data/sensordata_notwhip.dat";
+
+ QSensorGestureManager manager;
+ QStringList idList = manager.gestureIds();
+
+ QStringList gestStringList;
+
+ gestStringList << "QtSensors.whip";
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
+
+ QCOMPARE(gesture->invalidIds().count(),0);
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),0, 2000);
+
+}
+
+void tst_sensorgestures_gestures::testNotHover2()
+{
+// test slam when coming to close to head
+ QString name = "dataset2_mock_data/sensordata_nothover2.dat";
+
+ QStringList gestStringList;
+
+ gestStringList << "QtSensors.hover";
+ gestStringList << "QtSensors.slam";
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
+
+ QCOMPARE(gesture->invalidIds().count(),0);
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 2000);
+
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+ QCOMPARE(arguments.at(0).toString(), QLatin1String("slam"));
+}
+
+void tst_sensorgestures_gestures::testTiltedTwist()
+{
+ QString name = "mock_data/sensordata_tiltedtwist.dat";
+
+ QStringList gestStringList;
+
+ gestStringList << "QtSensors.twist";
+
+ QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
+
+ QCOMPARE(gesture->invalidIds().count(),0);
+ QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
+
+ QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
+ gesture.data()->startDetection();
+ QCOMPARE(gesture->isActive(),true);
+
+ QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
+
+ QList<QVariant> arguments = spy_gesture.takeFirst();
+ QCOMPARE(arguments.at(0).toString(), QLatin1String("twistLeft"));
+}
+
+
+
+QTEST_MAIN(tst_sensorgestures_gestures)
+
+#include "tst_sensorgestures_gestures.moc"
diff --git a/tests/auto/sensors.pro b/tests/auto/sensors.pro
index ad2c29ac4f..d138f74c0a 100644
--- a/tests/auto/sensors.pro
+++ b/tests/auto/sensors.pro
@@ -4,3 +4,8 @@ requires(contains(mobility_modules,sensors))
TEMPLATE = subdirs
SUBDIRS = qsensor
+#SUBDIRS += qsensorgestures
+#SUBDIRS += qsensorgestureplugins
+
+#!mac:!win32:SUBDIRS += qsensorgestures_gestures
+