11package com.simplemobiletools.filemanager.adapters
22
33import android.content.Intent
4+ import android.graphics.drawable.Drawable
45import android.net.Uri
56import android.support.v7.view.ActionMode
67import android.support.v7.widget.RecyclerView
@@ -14,6 +15,7 @@ import com.simplemobiletools.commons.asynctasks.CopyMoveTask
1415import com.simplemobiletools.commons.dialogs.ConfirmationDialog
1516import com.simplemobiletools.commons.dialogs.PropertiesDialog
1617import com.simplemobiletools.commons.extensions.formatSize
18+ import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
1719import com.simplemobiletools.commons.extensions.isGif
1820import com.simplemobiletools.commons.extensions.toast
1921import com.simplemobiletools.commons.models.FileDirItem
@@ -35,6 +37,10 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List<FileDirItem>,
3537 companion object {
3638 var actMode: ActionMode ? = null
3739 val markedItems = HashSet <Int >()
40+ var textColor = 0
41+
42+ lateinit var folderDrawable: Drawable
43+ lateinit var fileDrawable: Drawable
3844
3945 fun toggleItemSelection (itemView : View , select : Boolean , pos : Int = -1) {
4046 itemView.item_frame.isSelected = select
@@ -48,6 +54,14 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List<FileDirItem>,
4854 }
4955 }
5056
57+ init {
58+ textColor = activity.config.textColor
59+ folderDrawable = activity.resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R .drawable.ic_folder, textColor)
60+ folderDrawable.alpha = 180
61+ fileDrawable = activity.resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R .drawable.ic_file, textColor)
62+ fileDrawable.alpha = 180
63+ }
64+
5165 val multiSelectorMode = object : ModalMultiSelectorCallback (multiSelector) {
5266 override fun onActionItemClicked (mode : ActionMode , item : MenuItem ): Boolean {
5367 when (item.itemId) {
@@ -181,27 +195,32 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List<FileDirItem>,
181195
182196 class ViewHolder (val activity : SimpleActivity , view : View , val itemClick : (FileDirItem ) -> (Unit )) : SwappingHolder(view, MultiSelector ()) {
183197 fun bindView (multiSelectorCallback : ModalMultiSelectorCallback , multiSelector : MultiSelector , fileDirItem : FileDirItem , pos : Int ): View {
184- itemView.item_name.text = fileDirItem.name
185- toggleItemSelection(itemView, markedItems.contains(pos), pos)
198+ itemView.apply {
199+ item_name.text = fileDirItem.name
200+ item_name.setTextColor(textColor)
201+ item_details.setTextColor(textColor)
186202
187- if (fileDirItem.isDirectory) {
188- Glide .with (activity).load(R .drawable.ic_folder).diskCacheStrategy(getCacheStrategy(fileDirItem)).centerCrop().crossFade().into(itemView.item_icon)
189- itemView.item_details.text = getChildrenCnt(fileDirItem)
190- } else {
191- Glide .with (activity).load(fileDirItem.path).diskCacheStrategy(getCacheStrategy(fileDirItem)).error(R .drawable.ic_file).centerCrop().crossFade().into(itemView.item_icon)
192- itemView.item_details.text = fileDirItem.size.formatSize()
193- }
203+ toggleItemSelection(this , markedItems.contains(pos), pos)
204+
205+ if (fileDirItem.isDirectory) {
206+ item_icon.setImageDrawable(folderDrawable)
207+ item_details.text = getChildrenCnt(fileDirItem)
208+ } else {
209+ Glide .with (activity).load(fileDirItem.path).diskCacheStrategy(getCacheStrategy(fileDirItem)).error(fileDrawable).centerCrop().crossFade().into(item_icon)
210+ item_details.text = fileDirItem.size.formatSize()
211+ }
194212
195- itemView.setOnClickListener { viewClicked(multiSelector, fileDirItem, pos) }
196- itemView.setOnLongClickListener {
197- if (! multiSelector.isSelectable) {
198- activity.startSupportActionMode(multiSelectorCallback)
199- multiSelector.setSelected(this , true )
200- actMode?.title = multiSelector.selectedPositions.size.toString()
201- toggleItemSelection(itemView, true , pos)
202- actMode?.invalidate()
213+ setOnClickListener { viewClicked(multiSelector, fileDirItem, pos) }
214+ setOnLongClickListener {
215+ if (! multiSelector.isSelectable) {
216+ activity.startSupportActionMode(multiSelectorCallback)
217+ multiSelector.setSelected(this @ViewHolder, true )
218+ actMode?.title = multiSelector.selectedPositions.size.toString()
219+ toggleItemSelection(this , true , pos)
220+ actMode?.invalidate()
221+ }
222+ true
203223 }
204- true
205224 }
206225
207226 return itemView
0 commit comments