@@ -13,14 +13,18 @@ import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
1313import com.simplemobiletools.commons.helpers.ensureBackgroundThread
1414import com.simplemobiletools.commons.models.FileDirItem
1515import com.simplemobiletools.filemanager.pro.R
16+ import com.simplemobiletools.filemanager.pro.adapters.ItemsAdapter
1617import com.simplemobiletools.filemanager.pro.dialogs.ChangeSortingDialog
1718import com.simplemobiletools.filemanager.pro.dialogs.ChangeViewTypeDialog
1819import com.simplemobiletools.filemanager.pro.extensions.config
1920import com.simplemobiletools.filemanager.pro.helpers.*
21+ import com.simplemobiletools.filemanager.pro.interfaces.ItemOperationsListener
2022import com.simplemobiletools.filemanager.pro.models.ListItem
23+ import kotlinx.android.synthetic.main.activity_mimetypes.*
24+ import kotlinx.android.synthetic.main.items_fragment.view.*
2125import java.util.*
2226
23- class MimeTypesActivity : SimpleActivity () {
27+ class MimeTypesActivity : SimpleActivity (), ItemOperationsListener {
2428 private var isSearchOpen = false
2529 private var searchMenuItem: MenuItem ? = null
2630 private var currentMimeType = " "
@@ -50,14 +54,30 @@ class MimeTypesActivity : SimpleActivity() {
5054 FileDirItem .sorting = config.getFolderSorting(currentMimeType)
5155 fileDirItems.sort()
5256 val listItems = getListItemsFromFileDirItems(fileDirItems)
53-
5457 runOnUiThread {
58+ ItemsAdapter (this as SimpleActivity , listItems, this , mimetypes_list, false , items_fastscroller, null ) {
59+
60+ }.apply {
61+ mimetypes_list.adapter = this
62+ }
63+
64+ if (areSystemAnimationsEnabled) {
65+ mimetypes_list.scheduleLayoutAnimation()
66+ }
5567
68+ val dateFormat = config.dateFormat
69+ val timeFormat = getTimeFormat()
70+ items_fastscroller.setViews(mimetypes_list) {
71+ val listItem = getRecyclerAdapter()?.listItems?.getOrNull(it)
72+ items_fastscroller.updateBubbleText(listItem?.getBubbleText(this , dateFormat, timeFormat) ? : " " )
73+ }
5674 }
5775 }
5876 }
5977 }
6078
79+ private fun getRecyclerAdapter () = mimetypes_list.adapter as ? ItemsAdapter
80+
6181 override fun onCreateOptionsMenu (menu : Menu ): Boolean {
6282 menuInflater.inflate(R .menu.menu, menu)
6383 setupSearch(menu)
@@ -105,6 +125,7 @@ class MimeTypesActivity : SimpleActivity() {
105125
106126 private fun getProperFileDirItems (callback : (ArrayList <FileDirItem >) -> Unit ) {
107127 val fileDirItems = ArrayList <FileDirItem >()
128+ val showHidden = config.shouldShowHidden
108129 val uri = MediaStore .Files .getContentUri(" external" )
109130 val projection = arrayOf(
110131 MediaStore .Files .FileColumns .MIME_TYPE ,
@@ -118,8 +139,12 @@ class MimeTypesActivity : SimpleActivity() {
118139 queryCursor(uri, projection) { cursor ->
119140 try {
120141 val fullMimetype = cursor.getStringValue(MediaStore .Files .FileColumns .MIME_TYPE )?.lowercase(Locale .getDefault()) ? : return @queryCursor
121- val path = cursor.getStringValue(MediaStore .Files .FileColumns .DATA )
122142 val name = cursor.getStringValue(MediaStore .Files .FileColumns .DISPLAY_NAME )
143+ if (! showHidden && name.startsWith(" ." )) {
144+ return @queryCursor
145+ }
146+
147+ val path = cursor.getStringValue(MediaStore .Files .FileColumns .DATA )
123148 val size = cursor.getLongValue(MediaStore .Files .FileColumns .SIZE )
124149 val lastModified = cursor.getLongValue(MediaStore .Files .FileColumns .DATE_MODIFIED ) * 1000
125150
@@ -206,13 +231,27 @@ class MimeTypesActivity : SimpleActivity() {
206231 }
207232 }
208233
209- private fun toggleFilenameVisibility () {
234+ override fun refreshFragment () {}
235+
236+ override fun deleteFiles (files : ArrayList <FileDirItem >) {}
237+
238+ override fun selectedPaths (paths : ArrayList <String >) {}
239+
240+ override fun searchQueryChanged (text : String ) {}
241+
242+ override fun setupDateTimeFormat () {}
243+
244+ override fun setupFontSize () {}
245+
246+ override fun toggleFilenameVisibility () {
210247 config.displayFilenames = ! config.displayFilenames
211248 }
212249
213- private fun increaseColumnCount () {}
250+ override fun increaseColumnCount () {}
251+
252+ override fun reduceColumnCount () {}
214253
215- private fun reduceColumnCount () {}
254+ override fun finishActMode () {}
216255
217256 private fun changeViewType () {
218257 ChangeViewTypeDialog (this , currentMimeType, true ) { }
0 commit comments