This commit is contained in:
Horis
2024-07-07 14:57:29 +08:00
parent 3bafe5051e
commit 89bfa96631
@@ -64,6 +64,7 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
private var searchBookList = arrayListOf<SearchBook>()
private val searchBooks = Collections.synchronizedList(arrayListOf<SearchBook>())
private val tocMap = ConcurrentHashMap<String, List<BookChapter>>()
private var tocMapChapterCount = 0
private val contentProcessor by lazy {
ContentProcessor.get(oldBook!!)
}
@@ -176,6 +177,9 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
}
searchCallback?.upAdapter()
bookSourceParts.clear()
tocMap.clear()
bookMap.clear()
tocMapChapterCount = 0
val searchGroup = AppConfig.searchGroup
if (searchGroup.isBlank()) {
bookSourceParts.addAll(appDb.bookSourceDao.allEnabledPart)
@@ -197,6 +201,9 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
execute {
stopSearch()
bookSourceParts.clear()
tocMap.clear()
bookMap.clear()
tocMapChapterCount = 0
bookSourceParts.add(appDb.bookSourceDao.getBookSourcePart(origin)!!)
searchBooks.removeIf { it.origin == origin }
initSearchPool()
@@ -269,7 +276,10 @@ open class ChangeBookSourceViewModel(application: Application) : BaseViewModel(a
for (chapter in chapters) {
chapter.internString()
}
tocMap[book.bookUrl] = chapters
if (tocMapChapterCount < 30000) {
tocMapChapterCount += chapters.size
tocMap[book.bookUrl] = chapters
}
bookMap[book.bookUrl] = book
book.releaseHtmlData()
if (AppConfig.changeSourceLoadWordCount) {