package com.geeksville.mesh.ui import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView class DragManageAdapter(var adapter: SwapAdapter, dragDirs: Int, swipeDirs: Int) : ItemTouchHelper.SimpleCallback(dragDirs, swipeDirs) { interface SwapAdapter { fun swapItems(fromPosition: Int, toPosition: Int) fun commitSwaps() } override fun onMove( recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder ): Boolean { adapter.swapItems(viewHolder.absoluteAdapterPosition, target.absoluteAdapterPosition) return true } override fun onSelectedChanged(viewHolder: RecyclerView.ViewHolder?, actionState: Int) { super.onSelectedChanged(viewHolder, actionState) if (actionState == ItemTouchHelper.ACTION_STATE_IDLE) { adapter.commitSwaps() } } override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) { TODO("Not yet implemented") } }