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 37e03144e..a0e0a1b3a 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 @@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.util.system.ImageUtil import eu.kanade.tachiyomi.util.system.logcat import eu.kanade.tachiyomi.util.system.toast import exh.util.DataSaver +import exh.util.DataSaver.Companion.fetchImage import kotlinx.coroutines.async import logcat.LogPriority import okhttp3.Response @@ -412,13 +413,8 @@ class Downloader( private fun downloadImage(page: Page, source: HttpSource, tmpDir: UniFile, filename: String, dataSaver: DataSaver): Observable { page.status = Page.DOWNLOAD_IMAGE page.progress = 0 - val imageUrl = page.imageUrl!! - page.imageUrl = dataSaver.compress(imageUrl) - return source.fetchImage(page) + return source.fetchImage(page, dataSaver) .map { response -> - // SY --> - page.imageUrl = imageUrl - // SY <-- val file = tmpDir.createFile("$filename.tmp") try { response.body!!.source().saveTo(file.openOutputStream()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt index d49a5a075..3a96d9eea 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt @@ -10,6 +10,7 @@ import eu.kanade.tachiyomi.util.lang.plusAssign import eu.kanade.tachiyomi.util.system.logcat import exh.source.isEhBasedSource import exh.util.DataSaver +import exh.util.DataSaver.Companion.fetchImage import logcat.LogPriority import rx.Completable import rx.Observable @@ -275,15 +276,8 @@ class HttpPageLoader( */ private fun HttpSource.cacheImage(page: ReaderPage): Observable { page.status = Page.DOWNLOAD_IMAGE - // SY --> - val imageUrl = page.imageUrl!! - page.imageUrl = dataSaver.compress(imageUrl) - // SY <-- - return fetchImage(page) + return fetchImage(page, dataSaver) .doOnNext { - // SY --> - page.imageUrl = imageUrl - // SY <-- chapterCache.putImageToCache(page.imageUrl!!, it) } .map { page } diff --git a/app/src/main/java/exh/util/DataSaver.kt b/app/src/main/java/exh/util/DataSaver.kt index 797ffa292..735fb3b01 100644 --- a/app/src/main/java/exh/util/DataSaver.kt +++ b/app/src/main/java/exh/util/DataSaver.kt @@ -2,7 +2,11 @@ package exh.util import com.tfcporciuncula.flow.Preference import eu.kanade.tachiyomi.data.preference.PreferencesHelper -import tachiyomi.source.Source +import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.online.HttpSource +import okhttp3.Response +import rx.Observable interface DataSaver { @@ -14,6 +18,15 @@ interface DataSaver { return imageUrl } } + + fun HttpSource.fetchImage(page: Page, dataSaver: DataSaver): Observable { + val imageUrl = page.imageUrl ?: return fetchImage(page) + page.imageUrl = dataSaver.compress(imageUrl) + return fetchImage(page) + .doOnNext { + page.imageUrl = imageUrl + } + } } }