Improve data saver handling
This commit is contained in:
parent
df0083e2e3
commit
6e8ee38238
@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.util.system.ImageUtil
|
|||||||
import eu.kanade.tachiyomi.util.system.logcat
|
import eu.kanade.tachiyomi.util.system.logcat
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import exh.util.DataSaver
|
import exh.util.DataSaver
|
||||||
|
import exh.util.DataSaver.Companion.fetchImage
|
||||||
import kotlinx.coroutines.async
|
import kotlinx.coroutines.async
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
@ -412,13 +413,8 @@ class Downloader(
|
|||||||
private fun downloadImage(page: Page, source: HttpSource, tmpDir: UniFile, filename: String, dataSaver: DataSaver): Observable<UniFile> {
|
private fun downloadImage(page: Page, source: HttpSource, tmpDir: UniFile, filename: String, dataSaver: DataSaver): Observable<UniFile> {
|
||||||
page.status = Page.DOWNLOAD_IMAGE
|
page.status = Page.DOWNLOAD_IMAGE
|
||||||
page.progress = 0
|
page.progress = 0
|
||||||
val imageUrl = page.imageUrl!!
|
return source.fetchImage(page, dataSaver)
|
||||||
page.imageUrl = dataSaver.compress(imageUrl)
|
|
||||||
return source.fetchImage(page)
|
|
||||||
.map { response ->
|
.map { response ->
|
||||||
// SY -->
|
|
||||||
page.imageUrl = imageUrl
|
|
||||||
// SY <--
|
|
||||||
val file = tmpDir.createFile("$filename.tmp")
|
val file = tmpDir.createFile("$filename.tmp")
|
||||||
try {
|
try {
|
||||||
response.body!!.source().saveTo(file.openOutputStream())
|
response.body!!.source().saveTo(file.openOutputStream())
|
||||||
|
@ -10,6 +10,7 @@ import eu.kanade.tachiyomi.util.lang.plusAssign
|
|||||||
import eu.kanade.tachiyomi.util.system.logcat
|
import eu.kanade.tachiyomi.util.system.logcat
|
||||||
import exh.source.isEhBasedSource
|
import exh.source.isEhBasedSource
|
||||||
import exh.util.DataSaver
|
import exh.util.DataSaver
|
||||||
|
import exh.util.DataSaver.Companion.fetchImage
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import rx.Completable
|
import rx.Completable
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
@ -275,15 +276,8 @@ class HttpPageLoader(
|
|||||||
*/
|
*/
|
||||||
private fun HttpSource.cacheImage(page: ReaderPage): Observable<ReaderPage> {
|
private fun HttpSource.cacheImage(page: ReaderPage): Observable<ReaderPage> {
|
||||||
page.status = Page.DOWNLOAD_IMAGE
|
page.status = Page.DOWNLOAD_IMAGE
|
||||||
// SY -->
|
return fetchImage(page, dataSaver)
|
||||||
val imageUrl = page.imageUrl!!
|
|
||||||
page.imageUrl = dataSaver.compress(imageUrl)
|
|
||||||
// SY <--
|
|
||||||
return fetchImage(page)
|
|
||||||
.doOnNext {
|
.doOnNext {
|
||||||
// SY -->
|
|
||||||
page.imageUrl = imageUrl
|
|
||||||
// SY <--
|
|
||||||
chapterCache.putImageToCache(page.imageUrl!!, it)
|
chapterCache.putImageToCache(page.imageUrl!!, it)
|
||||||
}
|
}
|
||||||
.map { page }
|
.map { page }
|
||||||
|
@ -2,7 +2,11 @@ package exh.util
|
|||||||
|
|
||||||
import com.tfcporciuncula.flow.Preference
|
import com.tfcporciuncula.flow.Preference
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
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 {
|
interface DataSaver {
|
||||||
|
|
||||||
@ -14,6 +18,15 @@ interface DataSaver {
|
|||||||
return imageUrl
|
return imageUrl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun HttpSource.fetchImage(page: Page, dataSaver: DataSaver): Observable<Response> {
|
||||||
|
val imageUrl = page.imageUrl ?: return fetchImage(page)
|
||||||
|
page.imageUrl = dataSaver.compress(imageUrl)
|
||||||
|
return fetchImage(page)
|
||||||
|
.doOnNext {
|
||||||
|
page.imageUrl = imageUrl
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user