From 5cd666d949013e90f13fb811a7285d03ff75b92c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Wed, 20 Sep 2023 13:11:02 +0200 Subject: [PATCH] Handle file creation for OTG This fixes #602 --- .../pro/dialogs/CreateNewItemDialog.kt | 19 +++++++++++++++++-- .../filemanager/pro/extensions/Activity.kt | 1 - 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/dialogs/CreateNewItemDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/dialogs/CreateNewItemDialog.kt index 821e3d4b..eab5d6e5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/dialogs/CreateNewItemDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/dialogs/CreateNewItemDialog.kt @@ -66,6 +66,12 @@ class CreateNewItemDialog(val activity: SimpleActivity, val path: String, val ca callback(false) } } + } else if (activity.isPathOnOTG(path)) { + val parent = activity.getDocumentFile(path.getParentPath()) + val created = parent?.createDirectory(path.getFilenameFromPath()) + if (created != null) { + success(alertDialog) + } } else { if (File(path).mkdirs()) { success(alertDialog) @@ -137,8 +143,17 @@ class CreateNewItemDialog(val activity: SimpleActivity, val path: String, val ca } isRPlus() || path.startsWith(activity.internalStoragePath, true) -> { - if (File(path).createNewFile()) { - success(alertDialog) + + if (activity.isPathOnOTG(path)) { + val parent = activity.getDocumentFile(path.getParentPath()) + val created = parent?.createFile(path.getMimeType(), path.getFilenameFromPath()) + if (created != null) { + success(alertDialog) + } + } else { + if (File(path).createNewFile()) { + success(alertDialog) + } } } else -> { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/extensions/Activity.kt index 0ba36aaf..c0a8042f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/extensions/Activity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/pro/extensions/Activity.kt @@ -2,7 +2,6 @@ package com.simplemobiletools.filemanager.pro.extensions import android.app.Activity import android.content.Intent -import android.content.res.Configuration import android.net.Uri import android.view.View import androidx.appcompat.app.AppCompatActivity