@@ -12,6 +12,7 @@ import com.simplemobiletools.commons.extensions.*
1212import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
1313import com.simplemobiletools.commons.helpers.ensureBackgroundThread
1414import com.simplemobiletools.commons.models.FileDirItem
15+ import com.simplemobiletools.commons.views.MyGridLayoutManager
1516import com.simplemobiletools.filemanager.pro.R
1617import com.simplemobiletools.filemanager.pro.adapters.ItemsAdapter
1718import com.simplemobiletools.filemanager.pro.dialogs.ChangeSortingDialog
@@ -121,9 +122,18 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
121122 }
122123
123124 override fun increaseColumnCount () {
125+ if (config.getFolderViewType(currentMimeType) == VIEW_TYPE_GRID ) {
126+ config.fileColumnCnt = ++ (mimetypes_list.layoutManager as MyGridLayoutManager ).spanCount
127+ columnCountChanged()
128+ }
124129 }
125130
126- override fun reduceColumnCount () {}
131+ override fun reduceColumnCount () {
132+ if (config.getFolderViewType(currentMimeType) == VIEW_TYPE_GRID ) {
133+ config.fileColumnCnt = -- (mimetypes_list.layoutManager as MyGridLayoutManager ).spanCount
134+ columnCountChanged()
135+ }
136+ }
127137
128138 override fun finishActMode () {}
129139
@@ -282,6 +292,22 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
282292 }
283293 }
284294
295+ private fun columnCountChanged () {
296+ invalidateOptionsMenu()
297+ getRecyclerAdapter()?.apply {
298+ notifyItemRangeChanged(0 , listItems.size)
299+ calculateContentHeight(listItems)
300+ }
301+ }
302+
303+ private fun calculateContentHeight (items : MutableList <ListItem >) {
304+ val layoutManager = mimetypes_list.layoutManager as MyGridLayoutManager
305+ val thumbnailHeight = layoutManager.getChildAt(0 )?.height ? : 0
306+ val fullHeight = ((items.size - 1 ) / layoutManager.spanCount + 1 ) * thumbnailHeight
307+ items_fastscroller.setContentHeight(fullHeight)
308+ items_fastscroller.setScrollToY(mimetypes_list.computeVerticalScrollOffset())
309+ }
310+
285311 private fun tryToggleTemporarilyShowHidden () {
286312 if (config.temporarilyShowHidden) {
287313 toggleTemporarilyShowHidden(false )
0 commit comments