updating Commons with some recycler view selection updates

This commit is contained in:
tibbi 2018-10-10 23:59:02 +02:00
parent f00f0e1e60
commit 00f00514a1
6 changed files with 21 additions and 23 deletions

View File

@ -42,7 +42,7 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:4.9.18'
implementation 'com.simplemobiletools:commons:4.10.1'
implementation files('../libs/RootTools.jar')
}

View File

@ -22,7 +22,7 @@ class FavoritesActivity : SimpleActivity(), RefreshRecyclerViewListener {
private fun updateFavorites() {
val favorites = ArrayList<String>()
config.favorites.mapTo(favorites, { it })
config.favorites.mapTo(favorites) { it }
manage_favorites_placeholder.beVisibleIf(favorites.isEmpty())
manage_favorites_placeholder.setTextColor(config.textColor)
@ -37,7 +37,6 @@ class FavoritesActivity : SimpleActivity(), RefreshRecyclerViewListener {
ManageFavoritesAdapter(this, favorites, this, manage_favorites_list) { }.apply {
manage_favorites_list.adapter = this
initSelectionTracker()
}
}

View File

@ -247,7 +247,7 @@ class MainActivity : SimpleActivity() {
}
private fun launchAbout() {
val licenses = LICENSE_MULTISELECT or LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT
val licenses = LICENSE_GLIDE or LICENSE_PATTERN or LICENSE_REPRINT
val faqItems = arrayListOf(
FAQItem(R.string.faq_3_title_commons, R.string.faq_3_text_commons),

View File

@ -17,7 +17,6 @@ import com.simplemobiletools.commons.dialogs.*
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.CONFLICT_OVERWRITE
import com.simplemobiletools.commons.helpers.CONFLICT_SKIP
import com.simplemobiletools.commons.helpers.FileDirItemKeyProvider
import com.simplemobiletools.commons.helpers.OTG_PATH
import com.simplemobiletools.commons.models.FileDirItem
import com.simplemobiletools.commons.models.RadioItem
@ -51,6 +50,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
var adjustedPrimaryColor = activity.getAdjustedPrimaryColor()
init {
setupDragListener(true)
initDrawables()
}
@ -71,7 +71,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
override fun actionItemPressed(id: Int) {
if (getSelectedKeys().isEmpty) {
if (selectedKeys.isEmpty()) {
return
}
@ -101,7 +101,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
override fun getItemSelectionKey(position: Int) = fileDirItems[position].path
override fun getItemSelectionKeyProvider() = FileDirItemKeyProvider(fileDirItems)
override fun getItemKeyPosition(key: String) = fileDirItems.indexOfFirst { it.path == key }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.list_item, parent)
@ -124,7 +124,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
fileDrawable.alpha = 180
}
private fun isOneFileSelected() = isOneItemSelected() && getItemWithKey(getSelectedKeys().first())?.isDirectory == false
private fun isOneFileSelected() = isOneItemSelected() && getItemWithKey(selectedKeys.first())?.isDirectory == false
private fun checkHideBtnVisibility(menu: Menu) {
var hiddenCnt = 0
@ -142,7 +142,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun confirmSelection() {
if (!getSelectedKeys().isEmpty) {
if (selectedKeys.isNotEmpty()) {
val paths = getSelectedFileDirItems().filter { !it.isDirectory }.map { it.path } as ArrayList<String>
listener?.selectedPaths(paths)
}
@ -160,7 +160,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun showProperties() {
if (getSelectedKeys().size() <= 1) {
if (selectedKeys.size <= 1) {
PropertiesDialog(activity, getFirstSelectedItemPath(), activity.config.shouldShowHidden)
} else {
val paths = getSelectedFileDirItems().map { it.path }
@ -470,7 +470,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun askConfirmDelete() {
val selectionSize = getSelectedKeys().size()
val selectionSize = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_items, selectionSize, selectionSize)
val question = String.format(resources.getString(R.string.deletion_confirmation), items)
ConfirmationDialog(activity, question) {
@ -479,8 +479,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun deleteFiles() {
val selectedKeys = getSelectedKeys()
if (selectedKeys.isEmpty) {
if (selectedKeys.isEmpty()) {
return
}
@ -491,9 +490,9 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
activity.handleSAFDialog(SAFPath) {
val files = ArrayList<FileDirItem>(selectedKeys.size())
val files = ArrayList<FileDirItem>(selectedKeys.size)
val positions = ArrayList<Int>()
getSelectedKeys().forEach {
selectedKeys.forEach {
activity.config.removeFavorite(it)
val key = it
val position = fileDirItems.indexOfFirst { it.path == key }
@ -515,8 +514,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
private fun getFirstSelectedItemPath() = getSelectedFileDirItems().first().path
private fun getSelectedFileDirItems(): ArrayList<FileDirItem> {
val selectedKeys = getSelectedKeys()
val selectedFileDirItems = ArrayList<FileDirItem>(selectedKeys.size())
val selectedFileDirItems = ArrayList<FileDirItem>(selectedKeys.size)
selectedKeys.forEach {
getItemWithKey(it)?.apply {
selectedFileDirItems.add(this)

View File

@ -5,7 +5,6 @@ import android.view.View
import android.view.ViewGroup
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.helpers.StringListKeyProvider
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.filemanager.R
@ -18,6 +17,10 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
private val config = activity.config
init {
setupDragListener(true)
}
override fun getActionMenuId() = R.menu.cab_remove_only
override fun actionItemPressed(id: Int) {
@ -32,7 +35,7 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
override fun getItemSelectionKey(position: Int) = favorites[position]
override fun getItemSelectionKeyProvider() = StringListKeyProvider(favorites)
override fun getItemKeyPosition(key: String) = favorites.indexOfFirst { it == key }
override fun prepareActionMode(menu: Menu) {}
@ -60,10 +63,9 @@ class ManageFavoritesAdapter(activity: BaseSimpleActivity, var favorites: ArrayL
}
private fun removeSelection() {
val selectedKeys = getSelectedKeys()
val removeFavorites = ArrayList<String>(selectedKeys.size())
val removeFavorites = ArrayList<String>(selectedKeys.size)
val positions = java.util.ArrayList<Int>()
getSelectedKeys().forEach {
selectedKeys.forEach {
val key = it
val position = favorites.indexOfFirst { it == key }
if (position != -1) {

View File

@ -152,7 +152,6 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
}.apply {
addVerticalDividers(true)
items_list.adapter = this
initSelectionTracker()
}
items_fastscroller.allowBubbleDisplay = context.config.showInfoBubble
items_fastscroller.setViews(items_list, mView.items_swipe_refresh) {