Эх сурвалжийг харах

Limit saved page filenames to 127 characters (fixes #2638)

arkon 5 жил өмнө
parent
commit
6940ad3fd9

+ 8 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt

@@ -448,9 +448,10 @@ class ReaderPresenter(
         val chapter = page.chapter.chapter
 
         // Build destination file.
+        val filenameSuffix = " - ${page.number}.${type.extension}"
         val filename = DiskUtil.buildValidFilename(
-                "${manga.title} - ${chapter.name}".take(225)
-        ) + " - ${page.number}.${type.extension}"
+                "${manga.title} - ${chapter.name}".take(MAX_FILE_NAME_LENGTH - filenameSuffix.length)
+        ) + filenameSuffix
 
         val destFile = File(directory, filename)
         stream().use { input ->
@@ -638,4 +639,9 @@ class ReaderPresenter(
                 .subscribeOn(Schedulers.io())
                 .subscribe()
     }
+
+    companion object {
+        // Safe max filename size is 255 bytes and 1 char = 2 bytes
+        private const val MAX_FILE_NAME_LENGTH = 127
+    }
 }