diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
index ec6651dba..135925d41 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
@@ -81,7 +81,7 @@ class DownloadCache(
if (sourceDir != null) {
val mangaDir = sourceDir.files[provider.getMangaDirName(manga)]
if (mangaDir != null) {
- return provider.getValidChapterDirNames(chapter).any { it in mangaDir.files }
+ return provider.getValidChapterDirNames(chapter).any { it in mangaDir.files || "$it.cbz" in mangaDir.files }
}
}
return false
@@ -196,6 +196,8 @@ class DownloadCache(
provider.getValidChapterDirNames(chapter).forEach {
if (it in mangaDir.files) {
mangaDir.files -= it
+ } else if ("$it.cbz" in mangaDir.files) {
+ mangaDir.files -= "$it.cbz"
}
}
}
@@ -226,6 +228,8 @@ class DownloadCache(
provider.getValidChapterDirNames(chapter).forEach {
if (it in mangaDir.files) {
mangaDir.files -= it
+ } else if ("$it.cbz" in mangaDir.files) {
+ mangaDir.files -= "$it.cbz"
}
}
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
index c3e84716e..ed05a8479 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
@@ -287,12 +287,12 @@ class DownloadManager(/* SY private */ val context: Context) {
// Assume there's only 1 version of the chapter name formats present
val oldFolder = oldNames.asSequence()
- .mapNotNull { mangaDir.findFile(it) }
+ .mapNotNull { mangaDir.findFile(it) ?: mangaDir.findFile("$it.cbz") }
.firstOrNull()
- if (oldFolder?.renameTo(newName) == true) {
+ if (oldFolder?.renameTo(newName + if (oldFolder.name?.endsWith(".cbz") == true) ".cbz" else "") == true) {
cache.removeChapter(oldChapter, manga)
- cache.addChapter(newName, mangaDir, manga)
+ cache.addChapter(newName + if (oldFolder.name?.endsWith(".cbz") == true) ".cbz" else "", mangaDir, manga)
} else {
Timber.e("Could not rename downloaded chapter: %s.", oldNames.joinToString())
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
index 329a8c29c..7bcaf53a4 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
@@ -60,7 +60,7 @@ class Downloader(
private val sourceManager: SourceManager
) {
- private val preferences: PreferencesHelper = Injekt.get()
+ private val preferences: PreferencesHelper by injectLazy()
private val chapterCache: ChapterCache by injectLazy()
@@ -473,14 +473,14 @@ class Downloader(
// Only rename the directory if it's downloaded.
if (download.status == Download.DOWNLOADED) {
- mangaDir.findFile(dirname + ".tmp")?.delete()
if (preferences.saveChaptersAsCBZ().get()) {
- val zip = mangaDir.createFile(dirname + ".tmp")
+ val zip = mangaDir.createFile("$dirname.cbz.tmp")
val zipOut = ZipOutputStream(BufferedOutputStream(zip.openOutputStream()))
+ val compressionLevel = preferences.saveChaptersAsCBZLevel().get()
- zipOut.setLevel(preferences.saveChaptersAsCBZLevel().get())
+ zipOut.setLevel(compressionLevel)
- if (preferences.saveChaptersAsCBZLevel().get() == 0) {
+ if (compressionLevel == 0) {
zipOut.setMethod(ZipEntry.STORED)
}
@@ -488,7 +488,7 @@ class Downloader(
val input = img.openInputStream()
val data = input.readBytes()
val entry = ZipEntry(img.name)
- if (preferences.saveChaptersAsCBZLevel().get() == 0) {
+ if (compressionLevel == 0) {
val crc = CRC32()
val size = img.length()
crc.update(data)
@@ -501,7 +501,7 @@ class Downloader(
input.close()
}
zipOut.close()
- zip.renameTo(dirname + ".cbz")
+ zip.renameTo("$dirname.cbz")
tmpDir.delete()
} else {
tmpDir.renameTo(dirname)
diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml
index 168932c7e..07fd7a494 100644
--- a/app/src/main/res/values/strings_sy.xml
+++ b/app/src/main/res/values/strings_sy.xml
@@ -178,6 +178,10 @@
Replace latest button
Replace latest button with a custom browse view that includes both latest and browse
+
+ Save Chapters as CBZ
+ CBZ Compression level
+
Download threads
Higher values can speed up image downloading significantly, but can also trigger bans. Recommended value is 2 or 3. Current value is: %s
@@ -478,8 +482,4 @@
- %2$s, %1$d pages
- Save Chapters as CBZ
- CBZ Compression level
-
-
\ No newline at end of file