mirror of
https://github.com/SimpleMobileTools/Simple-Gallery.git
synced 2025-06-05 21:59:19 +02:00
initiate touchhelper at folders only when going to drag & drop
This commit is contained in:
@@ -68,7 +68,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||||||
private var currentDirectoriesHash = dirs.hashCode()
|
private var currentDirectoriesHash = dirs.hashCode()
|
||||||
private var lockedFolderPaths = ArrayList<String>()
|
private var lockedFolderPaths = ArrayList<String>()
|
||||||
private var isDragAndDropping = false
|
private var isDragAndDropping = false
|
||||||
private var startReorderDragListener: StartReorderDragListener
|
private var startReorderDragListener: StartReorderDragListener? = null
|
||||||
|
|
||||||
private var showMediaCount = config.showFolderMediaCount
|
private var showMediaCount = config.showFolderMediaCount
|
||||||
private var folderStyle = config.folderStyle
|
private var folderStyle = config.folderStyle
|
||||||
@@ -77,15 +77,6 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||||||
init {
|
init {
|
||||||
setupDragListener(true)
|
setupDragListener(true)
|
||||||
fillLockedFolders()
|
fillLockedFolders()
|
||||||
|
|
||||||
val touchHelper = ItemTouchHelper(ItemMoveCallback(this, true))
|
|
||||||
touchHelper.attachToRecyclerView(recyclerView)
|
|
||||||
|
|
||||||
startReorderDragListener = object : StartReorderDragListener {
|
|
||||||
override fun requestDrag(viewHolder: RecyclerView.ViewHolder) {
|
|
||||||
touchHelper.startDrag(viewHolder)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getActionMenuId() = R.menu.cab_directories
|
override fun getActionMenuId() = R.menu.cab_directories
|
||||||
@@ -493,6 +484,17 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||||||
isDragAndDropping = true
|
isDragAndDropping = true
|
||||||
notifyDataSetChanged()
|
notifyDataSetChanged()
|
||||||
actMode?.invalidate()
|
actMode?.invalidate()
|
||||||
|
|
||||||
|
if (startReorderDragListener == null) {
|
||||||
|
val touchHelper = ItemTouchHelper(ItemMoveCallback(this, true))
|
||||||
|
touchHelper.attachToRecyclerView(recyclerView)
|
||||||
|
|
||||||
|
startReorderDragListener = object : StartReorderDragListener {
|
||||||
|
override fun requestDrag(viewHolder: RecyclerView.ViewHolder) {
|
||||||
|
touchHelper.startDrag(viewHolder)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun moveFilesTo() {
|
private fun moveFilesTo() {
|
||||||
@@ -837,7 +839,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
|||||||
dir_drag_handle.applyColorFilter(textColor)
|
dir_drag_handle.applyColorFilter(textColor)
|
||||||
dir_drag_handle.setOnTouchListener { v, event ->
|
dir_drag_handle.setOnTouchListener { v, event ->
|
||||||
if (event.action == MotionEvent.ACTION_DOWN) {
|
if (event.action == MotionEvent.ACTION_DOWN) {
|
||||||
startReorderDragListener.requestDrag(holder)
|
startReorderDragListener?.requestDrag(holder)
|
||||||
}
|
}
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user