Handle EXTRA_MIME_TYPES in get content intents
This commit is contained in:
parent
c9585bbe63
commit
a3036b1b39
|
@ -30,11 +30,21 @@ class ViewPagerAdapter(val activity: SimpleActivity, val tabsToShow: ArrayList<I
|
||||||
} else {
|
} else {
|
||||||
""
|
""
|
||||||
}
|
}
|
||||||
|
val passedExtraMimeTypes = activity.intent.getStringArrayExtra(Intent.EXTRA_MIME_TYPES)
|
||||||
|
val extraMimeTypes = if (isGetContentIntent && passedExtraMimeTypes != null) {
|
||||||
|
passedExtraMimeTypes
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
|
||||||
this.isGetRingtonePicker = isPickRingtoneIntent
|
this.isGetRingtonePicker = isPickRingtoneIntent
|
||||||
this.isPickMultipleIntent = allowPickingMultipleIntent
|
this.isPickMultipleIntent = allowPickingMultipleIntent
|
||||||
this.isGetContentIntent = isGetContentIntent
|
this.isGetContentIntent = isGetContentIntent
|
||||||
this.wantedMimeType = getContentMimeType
|
if (extraMimeTypes != null) {
|
||||||
|
this.wantedMimeTypes = extraMimeTypes.toList()
|
||||||
|
} else {
|
||||||
|
this.wantedMimeTypes = listOf(getContentMimeType)
|
||||||
|
}
|
||||||
this.updateIsCreateDocumentIntent(isCreateDocumentIntent)
|
this.updateIsCreateDocumentIntent(isCreateDocumentIntent)
|
||||||
|
|
||||||
setupFragment(activity)
|
setupFragment(activity)
|
||||||
|
|
|
@ -225,7 +225,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
|
||||||
for (file in files) {
|
for (file in files) {
|
||||||
val listItem = getListItemFromFile(file, isSortingBySize, lastModifieds, false)
|
val listItem = getListItemFromFile(file, isSortingBySize, lastModifieds, false)
|
||||||
if (listItem != null) {
|
if (listItem != null) {
|
||||||
if (isProperMimeType(wantedMimeType, file.absolutePath, file.isDirectory)) {
|
if (wantedMimeTypes.any { isProperMimeType(it, file.absolutePath, file.isDirectory) }) {
|
||||||
items.add(listItem)
|
items.add(listItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -279,7 +279,7 @@ class ItemsFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerF
|
||||||
val listItems = ArrayList<ListItem>()
|
val listItems = ArrayList<ListItem>()
|
||||||
fileDirItems.forEach {
|
fileDirItems.forEach {
|
||||||
val listItem = ListItem(it.path, it.name, it.isDirectory, it.children, it.size, it.modified, false, false)
|
val listItem = ListItem(it.path, it.name, it.isDirectory, it.children, it.size, it.modified, false, false)
|
||||||
if (isProperMimeType(wantedMimeType, it.path, it.isDirectory)) {
|
if (wantedMimeTypes.any { mimeType -> isProperMimeType(mimeType, it.path, it.isDirectory) }) {
|
||||||
listItems.add(listItem)
|
listItems.add(listItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ abstract class MyViewPagerFragment<BINDING : MyViewPagerFragment.InnerBinding>(c
|
||||||
var isGetContentIntent = false
|
var isGetContentIntent = false
|
||||||
var isGetRingtonePicker = false
|
var isGetRingtonePicker = false
|
||||||
var isPickMultipleIntent = false
|
var isPickMultipleIntent = false
|
||||||
var wantedMimeType = ""
|
var wantedMimeTypes = listOf("")
|
||||||
protected var isCreateDocumentIntent = false
|
protected var isCreateDocumentIntent = false
|
||||||
protected lateinit var innerBinding: BINDING
|
protected lateinit var innerBinding: BINDING
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||||
val modified = cursor.getLongValue(FileColumns.DATE_MODIFIED) * 1000
|
val modified = cursor.getLongValue(FileColumns.DATE_MODIFIED) * 1000
|
||||||
val fileDirItem = ListItem(path, name, false, 0, size, modified, false, false)
|
val fileDirItem = ListItem(path, name, false, 0, size, modified, false, false)
|
||||||
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
|
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
|
||||||
if (isProperMimeType(wantedMimeType, path, false)) {
|
if (wantedMimeTypes.any { isProperMimeType(it, path, false) }) {
|
||||||
listItems.add(fileDirItem)
|
listItems.add(fileDirItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue