Tweak saved filename byte size limiting logic

Based on comment from 6940ad3fd9
This commit is contained in:
arkon
2020-03-07 13:15:21 -05:00
parent 5e9496ef36
commit 1c978f64b1
2 changed files with 26 additions and 3 deletions

View File

@@ -21,6 +21,8 @@ import eu.kanade.tachiyomi.ui.reader.loader.DownloadPageLoader
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters
import eu.kanade.tachiyomi.util.lang.byteSize
import eu.kanade.tachiyomi.util.lang.takeBytes
import eu.kanade.tachiyomi.util.storage.DiskUtil
import eu.kanade.tachiyomi.util.system.ImageUtil
import java.io.File
@@ -450,7 +452,7 @@ class ReaderPresenter(
// Build destination file.
val filenameSuffix = " - ${page.number}.${type.extension}"
val filename = DiskUtil.buildValidFilename(
"${manga.title} - ${chapter.name}".take(MAX_FILE_NAME_LENGTH - filenameSuffix.length)
"${manga.title} - ${chapter.name}".takeBytes(MAX_FILE_NAME_BYTES - filenameSuffix.byteSize())
) + filenameSuffix
val destFile = File(directory, filename)
@@ -641,7 +643,7 @@ class ReaderPresenter(
}
companion object {
// Safe max filename size is 255 bytes and 1 char = 2 bytes
private const val MAX_FILE_NAME_LENGTH = 127
// Safe theoretical max filename size is 255 bytes and 1 char = 2-4 bytes (UTF-8)
private const val MAX_FILE_NAME_BYTES = 250
}
}