package org.wikipedia.views;
import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.helper.ItemTouchHelper;
public class ItemTouchHelperSwipeAdapter extends ItemTouchHelper.SimpleCallback {
public interface Callback {
void onSwiped(@IntRange(from = 0) int item);
}
public interface SwipeableView { }
@NonNull private final Callback callback;
public ItemTouchHelperSwipeAdapter(@NonNull Callback callback) {
super(0, ItemTouchHelper.END);
this.callback = callback;
}
@Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
RecyclerView.ViewHolder target) {
return false;
}
@Override public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
if (viewHolder.itemView instanceof SwipeableView) {
return super.getSwipeDirs(recyclerView, viewHolder);
}
return 0;
}
@Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
callback.onSwiped(viewHolder.getAdapterPosition());
}
}