mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-06-05 22:09:15 +02:00
properley handle grid/list view initialization
This commit is contained in:
@ -97,8 +97,8 @@ class MainActivity : SimpleActivity() {
|
|||||||
findItem(R.id.temporarily_show_hidden).isVisible = !config.shouldShowHidden
|
findItem(R.id.temporarily_show_hidden).isVisible = !config.shouldShowHidden
|
||||||
findItem(R.id.stop_showing_hidden).isVisible = config.temporarilyShowHidden
|
findItem(R.id.stop_showing_hidden).isVisible = config.temporarilyShowHidden
|
||||||
|
|
||||||
findItem(R.id.increase_column_count).isVisible = config.viewType == VIEW_TYPE_GRID && config.fileColumnCnt < MAX_COLUMN_COUNT
|
findItem(R.id.increase_column_count).isVisible = config.getFolderViewType(fragment.currentPath) == VIEW_TYPE_GRID && config.fileColumnCnt < MAX_COLUMN_COUNT
|
||||||
findItem(R.id.reduce_column_count).isVisible = config.viewType == VIEW_TYPE_GRID && config.fileColumnCnt > 1
|
findItem(R.id.reduce_column_count).isVisible = config.getFolderViewType(fragment.currentPath) == VIEW_TYPE_GRID && config.fileColumnCnt > 1
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -72,7 +72,7 @@ class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList<ListItem
|
|||||||
private var timeFormat = ""
|
private var timeFormat = ""
|
||||||
|
|
||||||
private val config = activity.config
|
private val config = activity.config
|
||||||
private val viewType = config.getFolderViewType(listItems.firstOrNull { !it.isSectionTitle }?.mPath ?: "")
|
private val viewType = config.getFolderViewType(listItems.firstOrNull { !it.isSectionTitle }?.mPath?.getParentPath() ?: "")
|
||||||
private val isListViewType = viewType == VIEW_TYPE_LIST
|
private val isListViewType = viewType == VIEW_TYPE_LIST
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -9,10 +9,7 @@ import androidx.fragment.app.Fragment
|
|||||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||||
import com.simplemobiletools.commons.dialogs.StoragePickerDialog
|
import com.simplemobiletools.commons.dialogs.StoragePickerDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.SORT_BY_SIZE
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
|
||||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
|
||||||
import com.simplemobiletools.commons.helpers.isRPlus
|
|
||||||
import com.simplemobiletools.commons.models.FileDirItem
|
import com.simplemobiletools.commons.models.FileDirItem
|
||||||
import com.simplemobiletools.commons.views.Breadcrumbs
|
import com.simplemobiletools.commons.views.Breadcrumbs
|
||||||
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
import com.simplemobiletools.commons.views.MyGridLayoutManager
|
||||||
@ -46,6 +43,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
private var skipItemUpdating = false
|
private var skipItemUpdating = false
|
||||||
private var isSearchOpen = false
|
private var isSearchOpen = false
|
||||||
private var lastSearchedText = ""
|
private var lastSearchedText = ""
|
||||||
|
private var currentViewType = VIEW_TYPE_LIST
|
||||||
private var scrollStates = HashMap<String, Parcelable>()
|
private var scrollStates = HashMap<String, Parcelable>()
|
||||||
private var zoomListener: MyRecyclerView.MyZoomListener? = null
|
private var zoomListener: MyRecyclerView.MyZoomListener? = null
|
||||||
|
|
||||||
@ -71,7 +69,6 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
breadcrumbs.listener = this@ItemsFragment
|
breadcrumbs.listener = this@ItemsFragment
|
||||||
breadcrumbs.updateFontSize(context!!.getTextSize())
|
breadcrumbs.updateFontSize(context!!.getTextSize())
|
||||||
}
|
}
|
||||||
setupLayoutManager(false)
|
|
||||||
initZoomListener()
|
initZoomListener()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,6 +156,10 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
activity?.runOnUiThread {
|
activity?.runOnUiThread {
|
||||||
activity?.invalidateOptionsMenu()
|
activity?.invalidateOptionsMenu()
|
||||||
addItems(listItems, forceRefresh)
|
addItems(listItems, forceRefresh)
|
||||||
|
val curr = context?.config?.getFolderViewType(currentPath)
|
||||||
|
if (currentViewType != context?.config?.getFolderViewType(currentPath)) {
|
||||||
|
setupLayoutManager(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -413,8 +414,10 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
|
|
||||||
fun setupLayoutManager(resetAdapter: Boolean) {
|
fun setupLayoutManager(resetAdapter: Boolean) {
|
||||||
if (context!!.config.getFolderViewType(currentPath) == VIEW_TYPE_GRID) {
|
if (context!!.config.getFolderViewType(currentPath) == VIEW_TYPE_GRID) {
|
||||||
|
currentViewType = VIEW_TYPE_GRID
|
||||||
setupGridLayoutManager()
|
setupGridLayoutManager()
|
||||||
} else {
|
} else {
|
||||||
|
currentViewType = VIEW_TYPE_LIST
|
||||||
setupListLayoutManager()
|
setupListLayoutManager()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,7 +439,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initZoomListener() {
|
private fun initZoomListener() {
|
||||||
if (context?.config?.viewType == VIEW_TYPE_GRID) {
|
if (context?.config?.getFolderViewType(currentPath) == VIEW_TYPE_GRID) {
|
||||||
val layoutManager = mView.items_list.layoutManager as MyGridLayoutManager
|
val layoutManager = mView.items_list.layoutManager as MyGridLayoutManager
|
||||||
zoomListener = object : MyRecyclerView.MyZoomListener {
|
zoomListener = object : MyRecyclerView.MyZoomListener {
|
||||||
override fun zoomIn() {
|
override fun zoomIn() {
|
||||||
|
Reference in New Issue
Block a user