Skip to content

Commit 7cbfb32

Browse files
authored
Merge pull request #739 from esensar/fix/extra-mime-types-handling
Handle EXTRA_MIME_TYPES in get content intents
2 parents c9585bb + 5c66d18 commit 7cbfb32

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

app/src/main/kotlin/com/simplemobiletools/filemanager/pro/adapters/ViewPagerAdapter.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,18 @@ class ViewPagerAdapter(val activity: SimpleActivity, val tabsToShow: ArrayList<I
3030
} else {
3131
""
3232
}
33+
val passedExtraMimeTypes = activity.intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES)
34+
val extraMimeTypes = if (isGetContentIntent && passedExtraMimeTypes != null) {
35+
passedExtraMimeTypes
36+
} else {
37+
null
38+
}
3339

3440
this.isGetRingtonePicker = isPickRingtoneIntent
3541
this.isPickMultipleIntent = allowPickingMultipleIntent
3642
this.isGetContentIntent = isGetContentIntent
37-
this.wantedMimeType = getContentMimeType
38-
this.updateIsCreateDocumentIntent(isCreateDocumentIntent)
43+
wantedMimeTypes = extraMimeTypes?.toList() ?: listOf(getContentMimeType)
44+
updateIsCreateDocumentIntent(isCreateDocumentIntent)
3945

4046
setupFragment(activity)
4147
onResume(activity.getProperTextColor())

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
225225
for (file in files) {
226226
val listItem = getListItemFromFile(file, isSortingBySize, lastModifieds, false)
227227
if (listItem != null) {
228-
if (isProperMimeType(wantedMimeType, file.absolutePath, file.isDirectory)) {
228+
if (wantedMimeTypes.any { isProperMimeType(it, file.absolutePath, file.isDirectory) }) {
229229
items.add(listItem)
230230
}
231231
}
@@ -279,7 +279,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
279279
val listItems = ArrayList<ListItem>()
280280
fileDirItems.forEach {
281281
val listItem = ListItem(it.path, it.name, it.isDirectory, it.children, it.size, it.modified, false, false)
282-
if (isProperMimeType(wantedMimeType, it.path, it.isDirectory)) {
282+
if (wantedMimeTypes.any { mimeType -> isProperMimeType(mimeType, it.path, it.isDirectory) }) {
283283
listItems.add(listItem)
284284
}
285285
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ abstract class MyViewPagerFragment<BINDING : MyViewPagerFragment.InnerBinding>(c
2626
var isGetContentIntent = false
2727
var isGetRingtonePicker = false
2828
var isPickMultipleIntent = false
29-
var wantedMimeType = ""
29+
var wantedMimeTypes = listOf("")
3030
protected var isCreateDocumentIntent = false
3131
protected lateinit var innerBinding: BINDING
3232

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
179179
val modified = cursor.getLongValue(FileColumns.DATE_MODIFIED) * 1000
180180
val fileDirItem = ListItem(path, name, false, 0, size, modified, false, false)
181181
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
182-
if (isProperMimeType(wantedMimeType, path, false)) {
182+
if (wantedMimeTypes.any { isProperMimeType(it, path, false) }) {
183183
listItems.add(fileDirItem)
184184
}
185185
}

0 commit comments

Comments
 (0)