content: package de.danoeh.antennapod.ui.screen.preferences;
  
  import androidx.annotation.NonNull;
  import androidx.recyclerview.widget.ItemTouchHelper;
  import androidx.recyclerview.widget.RecyclerView;
  
  public abstract class ReorderItemTouchCallback extends ItemTouchHelper.Callback {
      @Override
      public int getMovementFlags(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) {
          final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
          final int swipeFlags = 0;
          return makeMovementFlags(dragFlags, swipeFlags);
      }
  
      @Override
      public boolean onMove(@NonNull RecyclerView recyclerView,
              @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
          return onItemMove(viewHolder.getBindingAdapterPosition(), target.getBindingAdapterPosition());
      }
  
      protected abstract boolean onItemMove(int fromPosition, int toPosition);
  
      @Override
      public boolean isItemViewSwipeEnabled() {
          return false;
      }
  
      @Override
      public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
  
      }
  }
  