mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
33 lines
No EOL
1 KiB
Kotlin
33 lines
No EOL
1 KiB
Kotlin
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")
|
|
}
|
|
} |