Skip to content

Commit 00f0051

Browse files
committed
updating Commons with some recycler view selection updates
1 parent f00f0e1 commit 00f0051

File tree

6 files changed

+21
-23
lines changed

6 files changed

+21
-23
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ android {
4242
}
4343

4444
dependencies {
45-
implementation 'com.simplemobiletools:commons:4.9.18'
45+
implementation 'com.simplemobiletools:commons:4.10.1'
4646

4747
implementation files('../libs/RootTools.jar')
4848
}

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/FavoritesActivity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class FavoritesActivity : SimpleActivity(), RefreshRecyclerViewListener {
2222

2323
private fun updateFavorites() {
2424
val favorites = ArrayList<String>()
25-
config.favorites.mapTo(favorites, { it })
25+
config.favorites.mapTo(favorites) { it }
2626
manage_favorites_placeholder.beVisibleIf(favorites.isEmpty())
2727
manage_favorites_placeholder.setTextColor(config.textColor)
2828

@@ -37,7 +37,6 @@ class FavoritesActivity : SimpleActivity(), RefreshRecyclerViewListener {
3737

3838
ManageFavoritesAdapter(this, favorites, this, manage_favorites_list) { }.apply {
3939
manage_favorites_list.adapter = this
40-
initSelectionTracker()
4140
}
4241
}
4342

app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ class MainActivity : SimpleActivity() {
247247
}
248248

249249
private fun launchAbout() {
250-
val licenses = LICENSE_MULTISELECT or LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT
250+
val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT
251251

252252
val faqItems = arrayListOf(
253253
FAQItem(R.string.faq_3_title_commons, R.string.faq_3_text_commons),

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import com.simplemobiletools.commons.dialogs.*
1717
import com.simplemobiletools.commons.extensions.*
1818
import com.simplemobiletools.commons.helpers.CONFLICT_OVERWRITE
1919
import com.simplemobiletools.commons.helpers.CONFLICT_SKIP
20-
import com.simplemobiletools.commons.helpers.FileDirItemKeyProvider
2120
import com.simplemobiletools.commons.helpers.OTG_PATH
2221
import com.simplemobiletools.commons.models.FileDirItem
2322
import 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)

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ManageFavoritesAdapter.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import android.view.View
55
import android.view.ViewGroup
66
import com.simplemobiletools.commons.activities.BaseSimpleActivity
77
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
8-
import com.simplemobiletools.commons.helpers.StringListKeyProvider
98
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
109
import com.simplemobiletools.commons.views.MyRecyclerView
1110
import com.simplemobiletools.filemanager.R
@@ -18,6 +17,10 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
1817

1918
private val config = activity.config
2019

20+
init {
21+
setupDragListener(true)
22+
}
23+
2124
override fun getActionMenuId() = R.menu.cab_remove_only
2225

2326
override fun actionItemPressed(id: Int) {
@@ -32,7 +35,7 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
3235

3336
override fun getItemSelectionKey(position: Int) = favorites[position]
3437

35-
override fun getItemSelectionKeyProvider() = StringListKeyProvider(favorites)
38+
override fun getItemKeyPosition(key: String) = favorites.indexOfFirst { it == key }
3639

3740
override fun prepareActionMode(menu: Menu) {}
3841

@@ -60,10 +63,9 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
6063
}
6164

6265
private fun removeSelection() {
63-
val selectedKeys = getSelectedKeys()
64-
val removeFavorites = ArrayList<String>(selectedKeys.size())
66+
val removeFavorites = ArrayList<String>(selectedKeys.size)
6567
val positions = java.util.ArrayList<Int>()
66-
getSelectedKeys().forEach {
68+
selectedKeys.forEach {
6769
val key = it
6870
val position = favorites.indexOfFirst { it == key }
6971
if (position != -1) {

app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
152152
}.apply {
153153
addVerticalDividers(true)
154154
items_list.adapter = this
155-
initSelectionTracker()
156155
}
157156
items_fastscroller.allowBubbleDisplay = context.config.showInfoBubble
158157
items_fastscroller.setViews(items_list, mView.items_swipe_refresh) {

0 commit comments

Comments
 (0)