From d4ba1c7f44c549be57ad067c812cb4255169f041 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 19 May 2025 13:38:37 +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 --- .../book/changesource/ChangeBookSourceViewModel.kt | 13 ++++++++----- .../ui/book/source/edit/BookSourceEditViewModel.kt | 9 +++++++-- .../ui/rss/source/edit/RssSourceEditViewModel.kt | 3 +++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt index 732297092..ed2f54e1c 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceViewModel.kt @@ -318,12 +318,15 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a chapters: List ) = coroutineScope { val chapterIndex = if (fromReadBookActivity) { - oldBook?.let { - BookHelp.getDurChapter(it, chapters) - } ?: chapters.lastIndex - } else chapters.lastIndex + BookHelp.getDurChapter(oldBook!!, chapters) + } else { + chapters.lastIndex + } val bookChapter = chapters[chapterIndex] - val title = bookChapter.title.trim() + var title = bookChapter.title.trim() + if (title.length > 20) { + title = title.substring(0, 20) + "…" + } val startTime = System.currentTimeMillis() val pair = try { val nextChapterUrl = chapters.getOrNull(chapterIndex + 1)?.url diff --git a/app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditViewModel.kt b/app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditViewModel.kt index 553b34d80..a629f497d 100644 --- a/app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditViewModel.kt @@ -12,6 +12,7 @@ import io.legado.app.help.config.SourceConfig import io.legado.app.help.http.CookieStore import io.legado.app.help.http.newCallStrResponse import io.legado.app.help.http.okHttpClient +import io.legado.app.help.source.SourceHelp import io.legado.app.help.source.clearExploreKindsCache import io.legado.app.help.storage.ImportOldData import io.legado.app.model.SharedJsScope @@ -63,8 +64,12 @@ class BookSourceEditViewModel(application: Application) : BaseViewModel(applicat } } bookSource?.let { - appDb.bookSourceDao.delete(it) - SourceConfig.removeSource(it.bookSourceUrl) + if (it.bookSourceUrl != source.bookSourceUrl) { + SourceHelp.deleteBookSource(it.bookSourceUrl) + } else { + appDb.bookSourceDao.delete(it) + SourceConfig.removeSource(it.bookSourceUrl) + } } appDb.bookSourceDao.insert(source) bookSource = source diff --git a/app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditViewModel.kt b/app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditViewModel.kt index 1f4595a64..5db8e4b34 100644 --- a/app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditViewModel.kt @@ -7,6 +7,7 @@ import io.legado.app.base.BaseViewModel import io.legado.app.data.appDb import io.legado.app.data.entities.RssSource import io.legado.app.exception.NoStackTraceException +import io.legado.app.help.AppCacheManager import io.legado.app.help.RuleComplete import io.legado.app.help.http.CookieStore import io.legado.app.utils.GSON @@ -46,6 +47,8 @@ class RssSourceEditViewModel(application: Application) : BaseViewModel(applicati if (it.sourceUrl != source.sourceUrl) { appDb.rssStarDao.updateOrigin(source.sourceUrl, it.sourceUrl) appDb.rssArticleDao.updateOrigin(source.sourceUrl, it.sourceUrl) + appDb.cacheDao.deleteSourceVariables(it.sourceUrl) + AppCacheManager.clearSourceVariables() } } appDb.rssSourceDao.insert(source)