Merge pull request #735 from amnezia-vpn/fix/andoird-open-config
Fix opening configs
This commit is contained in:
commit
c1b0d4a4a7
1 changed files with 14 additions and 10 deletions
|
@ -406,25 +406,29 @@ class AmneziaActivity : QtActivity() {
|
||||||
Log.v(TAG, "Open file with filter: $filter")
|
Log.v(TAG, "Open file with filter: $filter")
|
||||||
|
|
||||||
val mimeTypes = if (!filter.isNullOrEmpty()) {
|
val mimeTypes = if (!filter.isNullOrEmpty()) {
|
||||||
val extensionRegex = "\\*\\.[a-z .]+".toRegex(IGNORE_CASE)
|
val extensionRegex = "\\*\\.([a-z0-9]+)".toRegex(IGNORE_CASE)
|
||||||
val mime = MimeTypeMap.getSingleton()
|
val mime = MimeTypeMap.getSingleton()
|
||||||
extensionRegex.findAll(filter).map {
|
extensionRegex.findAll(filter).map {
|
||||||
mime.getMimeTypeFromExtension(it.value.drop(2))
|
it.groups[1]?.value?.let { mime.getMimeTypeFromExtension(it) } ?: "*/*"
|
||||||
}.filterNotNull().toSet()
|
}.toSet()
|
||||||
} else emptySet()
|
} else emptySet()
|
||||||
|
|
||||||
Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
|
Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
|
||||||
addCategory(Intent.CATEGORY_OPENABLE)
|
addCategory(Intent.CATEGORY_OPENABLE)
|
||||||
Log.v(TAG, "File mimyType filter: $mimeTypes")
|
Log.v(TAG, "File mimyType filter: $mimeTypes")
|
||||||
when (mimeTypes.size) {
|
if ("*/*" in mimeTypes) {
|
||||||
1 -> type = mimeTypes.first()
|
type = "*/*"
|
||||||
|
} else {
|
||||||
|
when (mimeTypes.size) {
|
||||||
|
1 -> type = mimeTypes.first()
|
||||||
|
|
||||||
in 2..Int.MAX_VALUE -> {
|
in 2..Int.MAX_VALUE -> {
|
||||||
type = "*/*"
|
type = "*/*"
|
||||||
putExtra(EXTRA_MIME_TYPES, mimeTypes.toTypedArray())
|
putExtra(EXTRA_MIME_TYPES, mimeTypes.toTypedArray())
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> type = "*/*"
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> type = "*/*"
|
|
||||||
}
|
}
|
||||||
}.also {
|
}.also {
|
||||||
startActivityForResult(it, OPEN_FILE_ACTION_CODE)
|
startActivityForResult(it, OPEN_FILE_ACTION_CODE)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue