Skip to content

Commit 10ab225

Browse files
committed
properley handle grid/list view initialization
1 parent 3f849da commit 10ab225

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ class MainActivity : SimpleActivity() {
9797
findItem(R.id.temporarily_show_hidden).isVisible = !config.shouldShowHidden
9898
findItem(R.id.stop_showing_hidden).isVisible = config.temporarilyShowHidden
9999

100-
findItem(R.id.increase_column_count).isVisible = config.viewType == VIEW_TYPE_GRID && config.fileColumnCnt < MAX_COLUMN_COUNT
101-
findItem(R.id.reduce_column_count).isVisible = config.viewType == VIEW_TYPE_GRID && config.fileColumnCnt > 1
100+
findItem(R.id.increase_column_count).isVisible = config.getFolderViewType(fragment.currentPath) == VIEW_TYPE_GRID && config.fileColumnCnt < MAX_COLUMN_COUNT
101+
findItem(R.id.reduce_column_count).isVisible = config.getFolderViewType(fragment.currentPath) == VIEW_TYPE_GRID && config.fileColumnCnt > 1
102102
}
103103

104104
return true

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList<ListItem
7272
private var timeFormat = ""
7373

7474
private val config = activity.config
75-
private val viewType = config.getFolderViewType(listItems.firstOrNull { !it.isSectionTitle }?.mPath ?: "")
75+
private val viewType = config.getFolderViewType(listItems.firstOrNull { !it.isSectionTitle }?.mPath?.getParentPath() ?: "")
7676
private val isListViewType = viewType == VIEW_TYPE_LIST
7777

7878
init {

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/fragments/ItemsFragment.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ import androidx.fragment.app.Fragment
99
import com.simplemobiletools.commons.activities.BaseSimpleActivity
1010
import com.simplemobiletools.commons.dialogs.StoragePickerDialog
1111
import com.simplemobiletools.commons.extensions.*
12-
import com.simplemobiletools.commons.helpers.SORT_BY_SIZE
13-
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
14-
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
15-
import com.simplemobiletools.commons.helpers.isRPlus
12+
import com.simplemobiletools.commons.helpers.*
1613
import com.simplemobiletools.commons.models.FileDirItem
1714
import com.simplemobiletools.commons.views.Breadcrumbs
1815
import com.simplemobiletools.commons.views.MyGridLayoutManager
@@ -46,6 +43,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
4643
private var skipItemUpdating = false
4744
private var isSearchOpen = false
4845
private var lastSearchedText = ""
46+
private var currentViewType = VIEW_TYPE_LIST
4947
private var scrollStates = HashMap<String, Parcelable>()
5048
private var zoomListener: MyRecyclerView.MyZoomListener? = null
5149

@@ -71,7 +69,6 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
7169
breadcrumbs.listener = this@ItemsFragment
7270
breadcrumbs.updateFontSize(context!!.getTextSize())
7371
}
74-
setupLayoutManager(false)
7572
initZoomListener()
7673
}
7774

@@ -159,6 +156,10 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
159156
activity?.runOnUiThread {
160157
activity?.invalidateOptionsMenu()
161158
addItems(listItems, forceRefresh)
159+
val curr = context?.config?.getFolderViewType(currentPath)
160+
if (currentViewType != context?.config?.getFolderViewType(currentPath)) {
161+
setupLayoutManager(true)
162+
}
162163
}
163164
}
164165
}
@@ -413,8 +414,10 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
413414

414415
fun setupLayoutManager(resetAdapter: Boolean) {
415416
if (context!!.config.getFolderViewType(currentPath) == VIEW_TYPE_GRID) {
417+
currentViewType = VIEW_TYPE_GRID
416418
setupGridLayoutManager()
417419
} else {
420+
currentViewType = VIEW_TYPE_LIST
418421
setupListLayoutManager()
419422
}
420423

@@ -436,7 +439,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
436439
}
437440

438441
private fun initZoomListener() {
439-
if (context?.config?.viewType == VIEW_TYPE_GRID) {
442+
if (context?.config?.getFolderViewType(currentPath) == VIEW_TYPE_GRID) {
440443
val layoutManager = mView.items_list.layoutManager as MyGridLayoutManager
441444
zoomListener = object : MyRecyclerView.MyZoomListener {
442445
override fun zoomIn() {

0 commit comments

Comments
 (0)