package com.reindeercrafts.notificationpeek.utils; import android.content.Context; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; /** * Helper class for creating GestureDetector instance. * <p/> * Created by zhelu on 5/12/14. */ public class UnlockGesture { public static View.OnTouchListener createTouchListener(Context context, UnlockGestureCallback callback) { final GestureDetector detector = new GestureDetector(context, new UnlockGestureDoubleTapListener(callback)); View.OnTouchListener listener = new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return detector.onTouchEvent(event); } }; return listener; } public interface UnlockGestureCallback { public void onUnlocked(); } /** * Unlock screen gesture listener class. Here we can customize different gestures for * unlocking screen. */ public static class UnlockGestureDoubleTapListener extends GestureDetector.SimpleOnGestureListener { private UnlockGestureCallback mCallback; public UnlockGestureDoubleTapListener(UnlockGestureCallback mCallback) { this.mCallback = mCallback; } @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onDoubleTap(MotionEvent e) { if (mCallback != null) { mCallback.onUnlocked(); } return true; } } }