|
1 | 1 | package com.simplemobiletools.filemanager.pro.fragments |
2 | 2 |
|
3 | 3 | import android.content.Context |
4 | | -import android.provider.MediaStore |
| 4 | +import android.provider.MediaStore.Files |
| 5 | +import android.provider.MediaStore.Files.FileColumns |
5 | 6 | import android.util.AttributeSet |
6 | 7 | import androidx.recyclerview.widget.GridLayoutManager |
7 | 8 | import com.simplemobiletools.commons.extensions.* |
@@ -107,30 +108,26 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage |
107 | 108 |
|
108 | 109 | private fun getRecents(callback: (recents: ArrayList<ListItem>) -> Unit) { |
109 | 110 | 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") |
111 | 114 | 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 |
116 | 119 | ) |
117 | 120 |
|
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" |
121 | 122 |
|
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) |
134 | 131 | } |
135 | 132 | } |
136 | 133 |
|
|
0 commit comments