Skip to content

Commit 1a3ffcc

Browse files
author
Jan Guegel
committed
Fix "Replace characters on save as function, FileNotFoundException" #250
1 parent ceb7a5f commit 1a3ffcc

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

app/src/main/kotlin/org/fossify/filemanager/activities/SaveAsActivity.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ class SaveAsActivity : SimpleActivity() {
3636
}
3737

3838
val source = intent.getParcelableExtra<Uri>(Intent.EXTRA_STREAM)!!
39-
val filename = getFilenameFromContentUri(source)
39+
val originalFilename = getFilenameFromContentUri(source)
4040
?: source.toString().getFilenameFromPath()
41+
val filename = sanitizeFilename(originalFilename)
4142
val mimeType = contentResolver.getType(source)
4243
?: intent.type?.takeIf { it != "*/*" }
4344
?: filename.getMimeType()
@@ -66,4 +67,9 @@ class SaveAsActivity : SimpleActivity() {
6667
super.onResume()
6768
setupToolbar(binding.activitySaveAsToolbar, NavigationIcon.Arrow)
6869
}
70+
71+
fun sanitizeFilename(filename: String): String {
72+
return filename.replace("[/\\\\<>:\"|?*\u0000-\u001F]".toRegex(), "_")
73+
.takeIf { it.isNotBlank() } ?: "unnamed_file"
74+
}
6975
}

0 commit comments

Comments
 (0)