|
|
|
@ -105,19 +105,18 @@ class SearchPresenter(
|
|
|
|
|
val maxChapterRead = prevMangaChapters
|
|
|
|
|
.filter { it.read }
|
|
|
|
|
.maxByOrNull { it.chapter_number }?.chapter_number
|
|
|
|
|
val bookmarkedChapters = prevMangaChapters
|
|
|
|
|
.filter { it.bookmark && it.isRecognizedNumber }
|
|
|
|
|
.map { it.chapter_number }
|
|
|
|
|
if (maxChapterRead != null) {
|
|
|
|
|
val dbChapters = db.getChapters(manga).executeAsBlocking()
|
|
|
|
|
for (chapter in dbChapters) {
|
|
|
|
|
if (chapter.isRecognizedNumber) {
|
|
|
|
|
if (chapter.chapter_number <= maxChapterRead) {
|
|
|
|
|
val prevChapter = prevMangaChapters
|
|
|
|
|
.find { it.isRecognizedNumber && it.chapter_number == chapter.chapter_number }
|
|
|
|
|
if (prevChapter != null) {
|
|
|
|
|
chapter.date_fetch = prevChapter.date_fetch
|
|
|
|
|
chapter.bookmark = prevChapter.bookmark
|
|
|
|
|
} else if (chapter.chapter_number <= maxChapterRead) {
|
|
|
|
|
chapter.read = true
|
|
|
|
|
}
|
|
|
|
|
if (chapter.chapter_number in bookmarkedChapters) {
|
|
|
|
|
chapter.bookmark = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
db.insertChapters(dbChapters).executeAsBlocking()
|
|
|
|
|