package com.dappervision.wearscript.managers; import android.content.Context; import android.view.MotionEvent; import com.dappervision.wearscript.BackgroundService; import com.google.android.glass.touchpad.Gesture; import com.google.android.glass.touchpad.GestureDetector; public class GestureManager extends Manager { private static final String TAG = "GestureManager"; private MyGestureDetector detector; public GestureManager(Context activity, BackgroundService bs) { super(bs); detector = new MyGestureDetector(this, activity); reset(); } public void onEvent(MotionEvent e) { detector.onMotionEvent(e); } } class MyGestureDetector extends GestureDetector implements GestureDetector.BaseListener, GestureDetector.FingerListener, GestureDetector.ScrollListener, GestureDetector.TwoFingerScrollListener { private static final String TAG = "MyGestureDetector"; private GestureManager parent; MyGestureDetector(GestureManager parent, Context context) { super(context); this.parent = parent; setBaseListener(this); setFingerListener(this); setScrollListener(this); setTwoFingerScrollListener(this); } @Override public boolean onGesture(Gesture gesture) { parent.makeCall("onGesture", String.format("'%s'", gesture.name())); parent.makeCall("onGesture" + gesture.name(), ""); return false; } @Override public void onFingerCountChanged(int i, int i2) { parent.makeCall("onFingerCountChanged", String.format("%d, %d", i, i2)); } @Override public boolean onScroll(float v, float v2, float v3) { parent.makeCall("onScroll", String.format("%f, %f, %f", v, v2, v3)); return false; } @Override public boolean onTwoFingerScroll(float v, float v2, float v3) { parent.makeCall("onTwoFingerScroll", String.format("%f, %f, %f", v, v2, v3)); return false; } }