From bfc1b7fabb8fb096dcdd82cd0ad3477053258378 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 25 Feb 2025 11:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/api/controller/BookController.kt | 22 +++++-------------- .../main/java/io/legado/app/web/HttpServer.kt | 12 +++++++--- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/io/legado/app/api/controller/BookController.kt b/app/src/main/java/io/legado/app/api/controller/BookController.kt index f55ea24cf..d6648fe09 100644 --- a/app/src/main/java/io/legado/app/api/controller/BookController.kt +++ b/app/src/main/java/io/legado/app/api/controller/BookController.kt @@ -22,7 +22,6 @@ import io.legado.app.model.ReadBook import io.legado.app.model.localBook.LocalBook import io.legado.app.model.webBook.WebBook import io.legado.app.utils.GSON -import io.legado.app.utils.LogUtils import io.legado.app.utils.cnCompare import io.legado.app.utils.fromJsonObject import io.legado.app.utils.printOnDebug @@ -70,8 +69,6 @@ object BookController { fun getCover(parameters: Map>): ReturnData { val returnData = ReturnData() val coverPath = parameters["path"]?.firstOrNull() - val startAt = System.currentTimeMillis() - LogUtils.d("BookController", "Start getCover($startAt) $coverPath") val ftBitmap = ImageLoader.loadBitmap(appCtx, coverPath) .override(84, 112) .centerCrop() @@ -79,27 +76,20 @@ object BookController { return try { returnData.setData(ftBitmap.get(3, TimeUnit.SECONDS)) } catch (e: Exception) { - LogUtils.d("BookController", "Error getCover($startAt) $coverPath\n$e") try { - val cached = defaultCoverCache[BookCover.defaultDrawable] - if (cached == null) { - val defaultBitmap = Glide.with(appCtx) + val defaultBitmap = defaultCoverCache.getOrPut(BookCover.defaultDrawable) { + Glide.with(appCtx) .asBitmap() .load(BookCover.defaultDrawable.toBitmap()) .override(84, 112) .centerCrop() .submit() - .get(3, TimeUnit.SECONDS) - defaultCoverCache[BookCover.defaultDrawable] = defaultBitmap - returnData.setData(defaultBitmap) - } else { - returnData.setData(cached) + .get() } + returnData.setData(defaultBitmap) } catch (e: Exception) { returnData.setErrorMsg(e.localizedMessage ?: "getCover error") } - } finally { - LogUtils.d("BookController", "End getCover($startAt) $coverPath") } } @@ -121,7 +111,7 @@ object BookController { this.bookUrl = bookUrl val bitmap = runBlocking { ImageProvider.cacheImage(book, src, bookSource) - ImageProvider.getImage(book, src, width)!! + ImageProvider.getImage(book, src, width) } return returnData.setData(bitmap) } @@ -210,7 +200,7 @@ object BookController { if (content != null) { val contentProcessor = ContentProcessor.get(book.name, book.origin) content = runBlocking { - contentProcessor.getContent(book, chapter, content!!, includeTitle = false) + contentProcessor.getContent(book, chapter, content, includeTitle = false) .toString() } return returnData.setData(content) diff --git a/app/src/main/java/io/legado/app/web/HttpServer.kt b/app/src/main/java/io/legado/app/web/HttpServer.kt index 4610448d0..201aa17d6 100644 --- a/app/src/main/java/io/legado/app/web/HttpServer.kt +++ b/app/src/main/java/io/legado/app/web/HttpServer.kt @@ -30,7 +30,9 @@ class HttpServer(port: Int) : NanoHTTPD(port) { var uri = session.uri val startAt = System.currentTimeMillis() - LogUtils.d(TAG, "${session.method.name} - $uri - ${session.queryParameterString} - Start($startAt)") + LogUtils.d(TAG) { + "${session.method.name} - $uri - ${session.queryParameterString} - Start($startAt)" + } try { when (session.method) { @@ -130,10 +132,14 @@ class HttpServer(port: Int) : NanoHTTPD(port) { } response.addHeader("Access-Control-Allow-Methods", "GET, POST") response.addHeader("Access-Control-Allow-Origin", session.headers["origin"]) - LogUtils.d(TAG, "${session.method.name} - $uri - ${session.queryParameterString} - End($startAt)") + LogUtils.d(TAG) { + "${session.method.name} - $uri - ${session.queryParameterString} - End($startAt)" + } return response } catch (e: Exception) { - LogUtils.d(TAG, "${session.method.name} - $uri - ${session.queryParameterString} - Error End($startAt)\n$e\n${e.stackTraceStr}") + LogUtils.d(TAG) { + "${session.method.name} - $uri - ${session.queryParameterString} - Error End($startAt)\n$e\n${e.stackTraceStr}" + } return newFixedLengthResponse(e.message) }