Skip to content

Commit 1b15082

Browse files
committed
use the helper function for querying recents cursor, show errors
1 parent 11232b9 commit 1b15082

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

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

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.simplemobiletools.filemanager.pro.fragments
22

33
import android.content.Context
4-
import android.provider.MediaStore
4+
import android.provider.MediaStore.Files
5+
import android.provider.MediaStore.Files.FileColumns
56
import android.util.AttributeSet
67
import androidx.recyclerview.widget.GridLayoutManager
78
import com.simplemobiletools.commons.extensions.*
@@ -107,30 +108,26 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
107108

108109
private fun getRecents(callback: (recents: ArrayList<ListItem>) -> Unit) {
109110
val showHidden = context?.config?.shouldShowHidden ?: return
110-
val uri = MediaStore.Files.getContentUri("external")
111+
val listItems = arrayListOf<ListItem>()
112+
113+
val uri = Files.getContentUri("external")
111114
val projection = arrayOf(
112-
MediaStore.Files.FileColumns.DATA,
113-
MediaStore.Files.FileColumns.DISPLAY_NAME,
114-
MediaStore.Files.FileColumns.DATE_MODIFIED,
115-
MediaStore.Files.FileColumns.SIZE
115+
FileColumns.DATA,
116+
FileColumns.DISPLAY_NAME,
117+
FileColumns.DATE_MODIFIED,
118+
FileColumns.SIZE
116119
)
117120

118-
val sortOrder = "${MediaStore.Files.FileColumns.DATE_MODIFIED} DESC LIMIT 50"
119-
val cursor = context?.contentResolver?.query(uri, projection, null, null, sortOrder)
120-
val listItems = arrayListOf<ListItem>()
121+
val sortOrder = "${FileColumns.DATE_MODIFIED} DESC LIMIT 50"
121122

122-
cursor?.use {
123-
if (cursor.moveToFirst()) {
124-
do {
125-
val path = cursor.getStringValue(MediaStore.Files.FileColumns.DATA)
126-
val name = cursor.getStringValue(MediaStore.Files.FileColumns.DISPLAY_NAME)
127-
val size = cursor.getLongValue(MediaStore.Files.FileColumns.SIZE)
128-
val modified = cursor.getLongValue(MediaStore.Files.FileColumns.DATE_MODIFIED) * 1000
129-
val fileDirItem = ListItem(path, name, false, 0, size, modified, false)
130-
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
131-
listItems.add(fileDirItem)
132-
}
133-
} while (cursor.moveToNext())
123+
context?.queryCursor(uri, projection, sortOrder = sortOrder, showErrors = true) { cursor ->
124+
val path = cursor.getStringValue(FileColumns.DATA)
125+
val name = cursor.getStringValue(FileColumns.DISPLAY_NAME)
126+
val size = cursor.getLongValue(FileColumns.SIZE)
127+
val modified = cursor.getLongValue(FileColumns.DATE_MODIFIED) * 1000
128+
val fileDirItem = ListItem(path, name, false, 0, size, modified, false)
129+
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
130+
listItems.add(fileDirItem)
134131
}
135132
}
136133

0 commit comments

Comments
 (0)