@@ -10,11 +10,12 @@ import com.simplemobiletools.commons.activities.BaseSimpleActivity
1010import com.simplemobiletools.commons.dialogs.StoragePickerDialog
1111import com.simplemobiletools.commons.extensions.*
1212import com.simplemobiletools.commons.helpers.SORT_BY_SIZE
13+ import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
1314import com.simplemobiletools.commons.helpers.ensureBackgroundThread
1415import com.simplemobiletools.commons.helpers.isRPlus
1516import com.simplemobiletools.commons.models.FileDirItem
1617import com.simplemobiletools.commons.views.Breadcrumbs
17- import com.simplemobiletools.commons.views.MyLinearLayoutManager
18+ import com.simplemobiletools.commons.views.MyGridLayoutManager
1819import com.simplemobiletools.filemanager.pro.R
1920import com.simplemobiletools.filemanager.pro.activities.MainActivity
2021import com.simplemobiletools.filemanager.pro.activities.SimpleActivity
@@ -67,6 +68,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
6768 breadcrumbs.listener = this @ItemsFragment
6869 breadcrumbs.updateFontSize(context!! .getTextSize())
6970 }
71+ setupLayoutManager(false )
7072 }
7173
7274 override fun onSaveInstanceState (outState : Bundle ) {
@@ -189,7 +191,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
189191
190192 private fun getScrollState () = getRecyclerLayoutManager().onSaveInstanceState()
191193
192- private fun getRecyclerLayoutManager () = (mView.items_list.layoutManager as MyLinearLayoutManager )
194+ private fun getRecyclerLayoutManager () = (mView.items_list.layoutManager as MyGridLayoutManager )
193195
194196 private fun getItems (path : String , callback : (originalPath: String , items: ArrayList <ListItem >) -> Unit ) {
195197 skipItemUpdating = false
@@ -404,6 +406,29 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb
404406
405407 private fun getRecyclerAdapter () = mView.items_list.adapter as ? ItemsAdapter
406408
409+ fun setupLayoutManager (resetAdapter : Boolean ) {
410+ if (context!! .config.getFolderViewType(currentPath) == VIEW_TYPE_GRID ) {
411+ setupGridLayoutManager()
412+ } else {
413+ setupListLayoutManager()
414+ }
415+
416+ if (resetAdapter) {
417+ mView.items_list.adapter = null
418+ addItems(storedItems, true )
419+ }
420+ }
421+
422+ private fun setupGridLayoutManager () {
423+ val layoutManager = mView.items_list.layoutManager as MyGridLayoutManager
424+ layoutManager.spanCount = 3
425+ }
426+
427+ private fun setupListLayoutManager () {
428+ val layoutManager = mView.items_list.layoutManager as MyGridLayoutManager
429+ layoutManager.spanCount = 1
430+ }
431+
407432 override fun breadcrumbClicked (id : Int ) {
408433 if (id == 0 ) {
409434 StoragePickerDialog (activity as SimpleActivity , currentPath, true ) {
0 commit comments