-package com.owncloud.android.ui;
-
-import android.content.Context;
-import android.util.Log;
-import android.view.GestureDetector;
-import android.view.GestureDetector.SimpleOnGestureListener;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
-import android.widget.Toast;
-
-public class OnSwipeTouchListener implements OnTouchListener {
-
- private final Context mContext;
- private final GestureDetector mGestureDetector;
-
- public OnSwipeTouchListener(Context context) {
- mContext = context;
- mGestureDetector = new GestureDetector(context, new GestureListener());
- }
-
- public boolean onTouch(final View v, final MotionEvent event) {
- //super.onTouch(v, event);
- Log.d("SWIPE", "Swipe listener touched");
- return mGestureDetector.onTouchEvent(event);
- }
-
- private final class GestureListener extends SimpleOnGestureListener {
-
- private static final int SWIPE_THRESHOLD = 100;
- private static final int SWIPE_VELOCITY_THRESHOLD = 100;
-
- @Override
- public boolean onDown(MotionEvent e) {
- return true;
- }
-
- @Override
- public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
- boolean result = false;
- try {
- float diffY = e2.getY() - e1.getY();
- float diffX = e2.getX() - e1.getX();
- if (Math.abs(diffX) > Math.abs(diffY)) {
- if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
- if (diffX > 0) {
- onSwipeRight();
- } else {
- onSwipeLeft();
- }
- }
- } else {
- if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
- if (diffY > 0) {
- onSwipeBottom();
- } else {
- onSwipeTop();
- }
- }
- }
- } catch (Exception exception) {
- exception.printStackTrace();
- }
- return result;
- }
- }
-
- public void onSwipeTop() {
- Toast.makeText(mContext, "top", Toast.LENGTH_SHORT).show();
- }
- public void onSwipeRight() {
- Toast.makeText(mContext, "right", Toast.LENGTH_SHORT).show();
- }
- public void onSwipeLeft() {
- Toast.makeText(mContext, "left", Toast.LENGTH_SHORT).show();
- }
- public void onSwipeBottom() {
- Toast.makeText(mContext, "bottom", Toast.LENGTH_SHORT).show();
- }
-
-}
-