diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt index 56a31d432..9ecc51856 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt @@ -286,7 +286,8 @@ class FileDatabaseSelectActivity : SpecialModeActivity(), // Show open and create button or special mode when (mSpecialMode) { SpecialMode.DEFAULT -> { - if (ExternalFileHelper.allowCreateDocumentByStorageAccessFramework(packageManager)) { + if (ExternalFileHelper.allowCreateDocumentByStorageAccessFramework(packageManager, + "application/x-keepass")) { // There is an activity which can handle this intent. createDatabaseButtonView?.visibility = View.VISIBLE } else{ diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/helpers/ExternalFileHelper.kt b/app/src/main/java/com/kunzisoft/keepass/activities/helpers/ExternalFileHelper.kt index 0fcbc5a65..07dc461fc 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/helpers/ExternalFileHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/helpers/ExternalFileHelper.kt @@ -291,13 +291,14 @@ class ExternalFileHelper { } @SuppressLint("InlinedApi") - fun allowCreateDocumentByStorageAccessFramework(packageManager: PackageManager): Boolean { + fun allowCreateDocumentByStorageAccessFramework(packageManager: PackageManager, + typeString: String = "application/octet-stream"): Boolean { return when { // To check if a custom file manager can manage the ACTION_CREATE_DOCUMENT Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT -> { packageManager.queryIntentActivities(Intent(Intent.ACTION_CREATE_DOCUMENT).apply { addCategory(Intent.CATEGORY_OPENABLE) - type = "application/x-keepass" + type = typeString }, PackageManager.MATCH_DEFAULT_ONLY).isNotEmpty() } else -> true