diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt index aff45725..d5b96ad2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/activities/MainActivity.kt @@ -10,10 +10,7 @@ import android.support.v4.app.ActivityCompat import android.view.Menu import android.view.MenuItem import com.simplemobiletools.commons.dialogs.StoragePickerDialog -import com.simplemobiletools.commons.extensions.getInternalStoragePath -import com.simplemobiletools.commons.extensions.hasWriteStoragePermission -import com.simplemobiletools.commons.extensions.storeStoragePaths -import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN import com.simplemobiletools.commons.helpers.LICENSE_MULTISELECT import com.simplemobiletools.commons.models.FileDirItem @@ -48,6 +45,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br storeStoragePaths() } + override fun onResume() { + super.onResume() + updateTextColors(main_screen) + } + override fun onDestroy() { super.onDestroy() config.isFirstRun = false @@ -78,10 +80,11 @@ class MainActivity : SimpleActivity(), ItemsFragment.ItemInteractionListener, Br mScrollStates.put(latestFragment!!.mPath.trimEnd('/'), latestFragment!!.getScrollState()) } - latestFragment = ItemsFragment() - latestFragment!!.arguments = bundle - latestFragment!!.setListener(this@MainActivity) - supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, latestFragment).addToBackStack(path).commitAllowingStateLoss() + latestFragment = ItemsFragment().apply { + arguments = bundle + setListener(this@MainActivity) + supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, this).addToBackStack(path).commitAllowingStateLoss() + } } override fun onCreateOptionsMenu(menu: Menu): Boolean { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt index 3e01db4b..83069934 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.filemanager.adapters import android.content.Intent +import android.graphics.drawable.Drawable import android.net.Uri import android.support.v7.view.ActionMode import android.support.v7.widget.RecyclerView @@ -14,6 +15,7 @@ import com.simplemobiletools.commons.asynctasks.CopyMoveTask import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.PropertiesDialog import com.simplemobiletools.commons.extensions.formatSize +import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor import com.simplemobiletools.commons.extensions.isGif import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.models.FileDirItem @@ -35,6 +37,10 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List, companion object { var actMode: ActionMode? = null val markedItems = HashSet() + var textColor = 0 + + lateinit var folderDrawable: Drawable + lateinit var fileDrawable: Drawable fun toggleItemSelection(itemView: View, select: Boolean, pos: Int = -1) { itemView.item_frame.isSelected = select @@ -48,6 +54,14 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List, } } + init { + textColor = activity.config.textColor + folderDrawable = activity.resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_folder, textColor) + folderDrawable.alpha = 180 + fileDrawable = activity.resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_file, textColor) + fileDrawable.alpha = 180 + } + val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) { override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { when (item.itemId) { @@ -181,27 +195,32 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List, class ViewHolder(val activity: SimpleActivity, view: View, val itemClick: (FileDirItem) -> (Unit)) : SwappingHolder(view, MultiSelector()) { fun bindView(multiSelectorCallback: ModalMultiSelectorCallback, multiSelector: MultiSelector, fileDirItem: FileDirItem, pos: Int): View { - itemView.item_name.text = fileDirItem.name - toggleItemSelection(itemView, markedItems.contains(pos), pos) + itemView.apply { + item_name.text = fileDirItem.name + item_name.setTextColor(textColor) + item_details.setTextColor(textColor) - if (fileDirItem.isDirectory) { - Glide.with(activity).load(R.drawable.ic_folder).diskCacheStrategy(getCacheStrategy(fileDirItem)).centerCrop().crossFade().into(itemView.item_icon) - itemView.item_details.text = getChildrenCnt(fileDirItem) - } else { - Glide.with(activity).load(fileDirItem.path).diskCacheStrategy(getCacheStrategy(fileDirItem)).error(R.drawable.ic_file).centerCrop().crossFade().into(itemView.item_icon) - itemView.item_details.text = fileDirItem.size.formatSize() - } + toggleItemSelection(this, markedItems.contains(pos), pos) - itemView.setOnClickListener { viewClicked(multiSelector, fileDirItem, pos) } - itemView.setOnLongClickListener { - if (!multiSelector.isSelectable) { - activity.startSupportActionMode(multiSelectorCallback) - multiSelector.setSelected(this, true) - actMode?.title = multiSelector.selectedPositions.size.toString() - toggleItemSelection(itemView, true, pos) - actMode?.invalidate() + if (fileDirItem.isDirectory) { + item_icon.setImageDrawable(folderDrawable) + item_details.text = getChildrenCnt(fileDirItem) + } else { + Glide.with(activity).load(fileDirItem.path).diskCacheStrategy(getCacheStrategy(fileDirItem)).error(fileDrawable).centerCrop().crossFade().into(item_icon) + item_details.text = fileDirItem.size.formatSize() + } + + setOnClickListener { viewClicked(multiSelector, fileDirItem, pos) } + setOnLongClickListener { + if (!multiSelector.isSelectable) { + activity.startSupportActionMode(multiSelectorCallback) + multiSelector.setSelected(this@ViewHolder, true) + actMode?.title = multiSelector.selectedPositions.size.toString() + toggleItemSelection(this, true, pos) + actMode?.invalidate() + } + true } - true } return itemView