Skip to content

Commit 004d7e6

Browse files
committed
tweak the itemsAdapter
1 parent a0e4205 commit 004d7e6

File tree

2 files changed

+48
-26
lines changed

2 files changed

+48
-26
lines changed

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ import android.support.v4.app.ActivityCompat
1010
import android.view.Menu
1111
import android.view.MenuItem
1212
import com.simplemobiletools.commons.dialogs.StoragePickerDialog
13-
import com.simplemobiletools.commons.extensions.getInternalStoragePath
14-
import com.simplemobiletools.commons.extensions.hasWriteStoragePermission
15-
import com.simplemobiletools.commons.extensions.storeStoragePaths
16-
import com.simplemobiletools.commons.extensions.toast
13+
import com.simplemobiletools.commons.extensions.*
1714
import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
1815
import com.simplemobiletools.commons.helpers.LICENSE_MULTISELECT
1916
import com.simplemobiletools.commons.models.FileDirItem
@@ -48,6 +45,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
4845
storeStoragePaths()
4946
}
5047

48+
override fun onResume() {
49+
super.onResume()
50+
updateTextColors(main_screen)
51+
}
52+
5153
override fun onDestroy() {
5254
super.onDestroy()
5355
config.isFirstRun = false
@@ -78,10 +80,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br
7880
mScrollStates.put(latestFragment!!.mPath.trimEnd('/'), latestFragment!!.getScrollState())
7981
}
8082

81-
latestFragment = ItemsFragment()
82-
latestFragment!!.arguments = bundle
83-
latestFragment!!.setListener(this@MainActivity)
84-
supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, latestFragment).addToBackStack(path).commitAllowingStateLoss()
83+
latestFragment = ItemsFragment().apply {
84+
arguments = bundle
85+
setListener(this@MainActivity)
86+
supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, this).addToBackStack(path).commitAllowingStateLoss()
87+
}
8588
}
8689

8790
override fun onCreateOptionsMenu(menu: Menu): Boolean {

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

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.simplemobiletools.filemanager.adapters
22

33
import android.content.Intent
4+
import android.graphics.drawable.Drawable
45
import android.net.Uri
56
import android.support.v7.view.ActionMode
67
import android.support.v7.widget.RecyclerView
@@ -14,6 +15,7 @@ import com.simplemobiletools.commons.asynctasks.CopyMoveTask
1415
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
1516
import com.simplemobiletools.commons.dialogs.PropertiesDialog
1617
import com.simplemobiletools.commons.extensions.formatSize
18+
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
1719
import com.simplemobiletools.commons.extensions.isGif
1820
import com.simplemobiletools.commons.extensions.toast
1921
import 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

Comments
 (0)