@@ -17,7 +17,6 @@ import com.simplemobiletools.commons.dialogs.*
1717import com.simplemobiletools.commons.extensions.*
1818import com.simplemobiletools.commons.helpers.CONFLICT_OVERWRITE
1919import com.simplemobiletools.commons.helpers.CONFLICT_SKIP
20- import com.simplemobiletools.commons.helpers.FileDirItemKeyProvider
2120import com.simplemobiletools.commons.helpers.OTG_PATH
2221import com.simplemobiletools.commons.models.FileDirItem
2322import com.simplemobiletools.commons.models.RadioItem
@@ -51,6 +50,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
5150 var adjustedPrimaryColor = activity.getAdjustedPrimaryColor()
5251
5352 init {
53+ setupDragListener(true )
5454 initDrawables()
5555 }
5656
@@ -71,7 +71,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
7171 }
7272
7373 override fun actionItemPressed (id : Int ) {
74- if (getSelectedKeys() .isEmpty) {
74+ if (selectedKeys .isEmpty() ) {
7575 return
7676 }
7777
@@ -101,7 +101,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
101101
102102 override fun getItemSelectionKey (position : Int ) = fileDirItems[position].path
103103
104- override fun getItemSelectionKeyProvider ( ) = FileDirItemKeyProvider ( fileDirItems)
104+ override fun getItemKeyPosition ( key : String ) = fileDirItems.indexOfFirst { it.path == key }
105105
106106 override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ) = createViewHolder(R .layout.list_item, parent)
107107
@@ -124,7 +124,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
124124 fileDrawable.alpha = 180
125125 }
126126
127- private fun isOneFileSelected () = isOneItemSelected() && getItemWithKey(getSelectedKeys() .first())?.isDirectory == false
127+ private fun isOneFileSelected () = isOneItemSelected() && getItemWithKey(selectedKeys .first())?.isDirectory == false
128128
129129 private fun checkHideBtnVisibility (menu : Menu ) {
130130 var hiddenCnt = 0
@@ -142,7 +142,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
142142 }
143143
144144 private fun confirmSelection () {
145- if (! getSelectedKeys().isEmpty ) {
145+ if (selectedKeys.isNotEmpty() ) {
146146 val paths = getSelectedFileDirItems().filter { ! it.isDirectory }.map { it.path } as ArrayList <String >
147147 listener?.selectedPaths(paths)
148148 }
@@ -160,7 +160,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
160160 }
161161
162162 private fun showProperties () {
163- if (getSelectedKeys() .size() <= 1 ) {
163+ if (selectedKeys .size <= 1 ) {
164164 PropertiesDialog (activity, getFirstSelectedItemPath(), activity.config.shouldShowHidden)
165165 } else {
166166 val paths = getSelectedFileDirItems().map { it.path }
@@ -470,7 +470,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
470470 }
471471
472472 private fun askConfirmDelete () {
473- val selectionSize = getSelectedKeys() .size()
473+ val selectionSize = selectedKeys .size
474474 val items = resources.getQuantityString(R .plurals.delete_items, selectionSize, selectionSize)
475475 val question = String .format(resources.getString(R .string.deletion_confirmation), items)
476476 ConfirmationDialog (activity, question) {
@@ -479,8 +479,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
479479 }
480480
481481 private fun deleteFiles () {
482- val selectedKeys = getSelectedKeys()
483- if (selectedKeys.isEmpty) {
482+ if (selectedKeys.isEmpty()) {
484483 return
485484 }
486485
@@ -491,9 +490,9 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
491490 }
492491
493492 activity.handleSAFDialog(SAFPath ) {
494- val files = ArrayList <FileDirItem >(selectedKeys.size() )
493+ val files = ArrayList <FileDirItem >(selectedKeys.size)
495494 val positions = ArrayList <Int >()
496- getSelectedKeys() .forEach {
495+ selectedKeys .forEach {
497496 activity.config.removeFavorite(it)
498497 val key = it
499498 val position = fileDirItems.indexOfFirst { it.path == key }
@@ -515,8 +514,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
515514 private fun getFirstSelectedItemPath () = getSelectedFileDirItems().first().path
516515
517516 private fun getSelectedFileDirItems (): ArrayList <FileDirItem > {
518- val selectedKeys = getSelectedKeys()
519- val selectedFileDirItems = ArrayList <FileDirItem >(selectedKeys.size())
517+ val selectedFileDirItems = ArrayList <FileDirItem >(selectedKeys.size)
520518 selectedKeys.forEach {
521519 getItemWithKey(it)?.apply {
522520 selectedFileDirItems.add(this )
0 commit comments