From 4a2df9c8681b84093da5c0fa7bf07e3968a14bcb Mon Sep 17 00:00:00 2001 From: cyph0r Date: Tue, 21 May 2024 16:41:41 +0530 Subject: [PATCH 1/2] Files with ambiguous names crash on extraction : Fixed --- .../compressed/CompressedHelper.java | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java b/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java index 13d5135a78..f8b771ed80 100644 --- a/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java +++ b/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java @@ -202,24 +202,25 @@ public static boolean isFileExtractable(String path) { */ public static String getFileName(String compressedName) { compressedName = compressedName.toLowerCase(); - if (isZip(compressedName) - || isTar(compressedName) - || isRar(compressedName) - || is7zip(compressedName) - || isXz(compressedName) - || isLzma(compressedName) - || isGzip(compressedName) - || compressedName.endsWith(fileExtensionGzipTarShort) - || compressedName.endsWith(fileExtensionBzip2TarShort) - || isGzip(compressedName) - || isBzip2(compressedName) - || isLzma(compressedName) - || isXz(compressedName)) { + boolean hasFileName = compressedName.contains("."); + if (hasFileName && (isZip(compressedName) + || isTar(compressedName) + || isRar(compressedName) + || is7zip(compressedName) + || isXz(compressedName) + || isLzma(compressedName) + || isGzip(compressedName) + || compressedName.endsWith(fileExtensionGzipTarShort) + || compressedName.endsWith(fileExtensionBzip2TarShort) + || isGzip(compressedName) + || isBzip2(compressedName) + || isLzma(compressedName) + || isXz(compressedName))) { return compressedName.substring(0, compressedName.lastIndexOf(".")); - } else if (isGzippedTar(compressedName) - || isXzippedTar(compressedName) - || isLzippedTar(compressedName) - || isBzippedTar(compressedName)) { + } else if (hasFileName && isGzippedTar(compressedName) + || isXzippedTar(compressedName) + || isLzippedTar(compressedName) + || isBzippedTar(compressedName)) { return compressedName.substring(0, Utils.nthToLastCharIndex(2, compressedName, '.')); } else { return compressedName; From 299e2fb0a8f0b233ff6512eb9e6ac090bb5106df Mon Sep 17 00:00:00 2001 From: cyph0r Date: Wed, 22 May 2024 12:58:14 +0530 Subject: [PATCH 2/2] Ran gradlew>spotless --- .../filesystem/compressed/CompressedHelper.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java b/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java index f8b771ed80..5d36ad0875 100644 --- a/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java +++ b/app/src/main/java/com/amaze/filemanager/filesystem/compressed/CompressedHelper.java @@ -202,8 +202,9 @@ public static boolean isFileExtractable(String path) { */ public static String getFileName(String compressedName) { compressedName = compressedName.toLowerCase(); - boolean hasFileName = compressedName.contains("."); - if (hasFileName && (isZip(compressedName) + boolean hasFileName = compressedName.contains("."); + if (hasFileName + && (isZip(compressedName) || isTar(compressedName) || isRar(compressedName) || is7zip(compressedName) @@ -218,9 +219,9 @@ public static String getFileName(String compressedName) { || isXz(compressedName))) { return compressedName.substring(0, compressedName.lastIndexOf(".")); } else if (hasFileName && isGzippedTar(compressedName) - || isXzippedTar(compressedName) - || isLzippedTar(compressedName) - || isBzippedTar(compressedName)) { + || isXzippedTar(compressedName) + || isLzippedTar(compressedName) + || isBzippedTar(compressedName)) { return compressedName.substring(0, Utils.nthToLastCharIndex(2, compressedName, '.')); } else { return compressedName;