package de.avalax.fitbuddy.presentation.workout.swipe_bar;
import android.content.Context;
import android.support.v4.view.GestureDetectorCompat;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
public abstract class SwipeBarOnTouchListener implements View.OnTouchListener {
private final GestureDetectorCompat gdt;
public SwipeBarOnTouchListener(Context context, View view, int swipeMoveMax) {
final SwipeBarOnTouchListener touchListener = this;
ViewConfiguration viewConfiguration = ViewConfiguration.get(context);
int minSwipeDistance = viewConfiguration.getScaledPagingTouchSlop();
int velocity = viewConfiguration.getScaledMinimumFlingVelocity();
gdt = new GestureDetectorCompat(context,
new SwipeBarOnGestureListener(swipeMoveMax, view, minSwipeDistance, velocity) {
@Override
public void onFlingEvent(int moved) {
touchListener.onFlingEvent(moved);
}
});
}
@Override
public boolean onTouch(final View v, final MotionEvent event) {
gdt.onTouchEvent(event);
return true;
}
protected abstract void onFlingEvent(int moved);
}