mirror of
				https://github.com/SimpleMobileTools/Simple-File-Manager.git
				synced 2025-06-05 22:09:15 +02:00 
			
		
		
		
	updating Commons with some recycler view selection updates
This commit is contained in:
		| @@ -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') | ||||
| } | ||||
|   | ||||
| @@ -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() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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), | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user