From 5d4f544b94ced18261d0e623b62c93c5f6962868 Mon Sep 17 00:00:00 2001 From: tarsin Date: Fri, 28 Jul 2023 18:18:01 +0800 Subject: [PATCH] No more content length validation --- .../main/java/com/hippo/ehviewer/cronet/CronetKt.kt | 7 +++---- .../main/java/com/hippo/ehviewer/spider/SpiderDen.kt | 11 +++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/cronet/CronetKt.kt b/app/src/main/java/com/hippo/ehviewer/cronet/CronetKt.kt index 6703a0805..6e8e0ce6a 100644 --- a/app/src/main/java/com/hippo/ehviewer/cronet/CronetKt.kt +++ b/app/src/main/java/com/hippo/ehviewer/cronet/CronetKt.kt @@ -46,7 +46,7 @@ class CronetRequest { lateinit var onResponse: CronetRequest.(UrlResponseInfo) -> Unit lateinit var request: UrlRequest lateinit var daemonCont: Continuation - lateinit var readerCont: Continuation + lateinit var readerCont: Continuation val callback = object : UrlRequest.Callback() { override fun onRedirectReceived(req: UrlRequest, info: UrlResponseInfo, url: String) { logcat(tag = TAG) { "Redirected to $url" } @@ -63,8 +63,7 @@ class CronetRequest { } override fun onSucceeded(req: UrlRequest, info: UrlResponseInfo) { - val length = info.receivedByteCount - readerCont.resume(length) + readerCont.resume(Unit) daemonCont.resume(true) } @@ -84,7 +83,7 @@ inline fun cronetRequest(url: String, referer: String? = null, conf: UrlRequest. }.apply(conf).build() } -suspend inline fun CronetRequest.awaitBodyFully(crossinline callback: (ByteBuffer) -> Unit): Long { +suspend inline fun CronetRequest.awaitBodyFully(crossinline callback: (ByteBuffer) -> Unit) { val buffer = pool.borrow() return try { suspendCancellableCoroutine { cont -> diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt index 6f9f720c0..a42e67864 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderDen.kt @@ -160,25 +160,24 @@ class SpiderDen(mGalleryInfo: GalleryInfo) { } } - private suspend fun saveResponseMeta(index: Int, ext: String, length: Long, fops: suspend (UniFile) -> Long): Boolean { + private suspend fun saveResponseMeta(index: Int, ext: String, length: Long, fops: suspend (UniFile) -> Unit): Boolean { suspend fun realFops(f: UniFile) = fops(f).apply { if (ext.lowercase() == "gif") { f.openFileDescriptor("rw").use { rewriteGifSource2(it.fd) } } } findDownloadFileForIndex(index, ext)?.run { - return realFops(this) == length + realFops(this) + return true } // Read Mode, allow save to cache if (mode == SpiderQueen.MODE_READ) { val key = getImageKey(mGid, index) - var received = 0L - sCache.suspendEdit(key) { + return sCache.suspendEdit(key) { metadata.toFile().writeText(ext) - received = realFops(UniFile.fromFile(data.toFile())!!) + realFops(UniFile.fromFile(data.toFile())!!) } - return received == length } return false }