소스 검색

Fallback chapter name if it ends up as blank (#9220)

* change the directory's name for a download when the chapter's name is only composed of numbers or is blank

* maj in case the chapter name is blank or empty

* clean code
Pauline 1 년 전
부모
커밋
41cc1fe723
1개의 변경된 파일14개의 추가작업 그리고 2개의 파일을 삭제
  1. 14 2
      app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt

+ 14 - 2
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt

@@ -138,14 +138,26 @@ class DownloadProvider(
      * @param chapterScanlator scanlator of the chapter to query
      */
     fun getChapterDirName(chapterName: String, chapterScanlator: String?): String {
+        val newChapterName = sanitizeChapterName(chapterName)
         return DiskUtil.buildValidFilename(
             when {
-                chapterScanlator.isNullOrBlank().not() -> "${chapterScanlator}_$chapterName"
-                else -> chapterName
+                chapterScanlator.isNullOrBlank().not() -> "${chapterScanlator}_$newChapterName"
+                else -> newChapterName
             },
         )
     }
 
+    /**
+     * Return the new name for the chapter (in case it's empty or blank)
+     *
+     * @param chapterName the name of the chapter
+     */
+    private fun sanitizeChapterName(chapterName: String): String {
+        return chapterName.ifBlank {
+            "Chapter"
+        }
+    }
+
     fun isChapterDirNameChanged(oldChapter: Chapter, newChapter: Chapter): Boolean {
         return oldChapter.name != newChapter.name ||
             oldChapter.scanlator?.takeIf { it.isNotBlank() } != newChapter.scanlator?.takeIf { it.isNotBlank() }