Signed-off-by: alperozturk <alper_ozturk@proton.me>
@@ -25,6 +25,7 @@ object FileNameValidator {
"LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9",
"LPT¹", "LPT²", "LPT³"
)
+ private val forbiddenFileExtensions = listOf(".filepart", ".part")
/**
* Checks the validity of a file name.
@@ -66,11 +67,14 @@ object FileNameValidator {
reservedWindowsNames.contains(filename.removeFileExtension().uppercase())
) {
- return context.getString(R.string.file_name_validator_error_reserved_names, filename.substringBefore("."))
+ return context.getString(R.string.file_name_validator_error_reserved_names, filename.substringBefore(dot()))
}
- if (capability.forbiddenFilenameExtension.isTrue) {
- // TODO add logic
+ if (capability.forbiddenFilenameExtension.isTrue && forbiddenFileExtensions.contains(filename.uppercase())) {
+ return context.getString(
+ R.string.file_name_validator_error_forbidden_file_extensions,
+ filename.substringAfter(dot())
+ )
return null
@@ -1224,5 +1224,6 @@
<string name="file_name_validator_error_contains_reserved_names_or_invalid_characters">Folder path contains reserved names or invalid character</string>
<string name="file_name_validator_error_invalid_character">File name contains invalid characters: %s</string>
<string name="file_name_validator_error_reserved_names">%s is a reserved name</string>
+ <string name="file_name_validator_error_forbidden_file_extensions">%s is a forbidden file extension</string>
<string name="file_name_validator_error_ends_with_space_period">File name ends with a space or a period</string>
</resources>