Вам нужен датчик ускорения и датчик ориентации, чтобы точно распознать движение, описанное в вашем видео.
Итак, я бы рекомендовал собрать данные с упомянутых датчиков и описать движение (ускорение и ориентация должны иметь раздельное3D-функции) с небольшим количеством математических функций / графиков.Затем с определенной точностью проверьте, соответствует ли повторное движение ожидаемому поведению по всей оси.
Вам понадобится это для справки по оси:
http://developer.android.com/reference/android/hardware/SensorEvent.html
ПохожеНа оси Y не должно происходить никаких изменений (или они должны быть очень маленькими), чтобы описать движение из вашего видео.