Fix reading progress being lost in some rare cases in galleries opened before v8.4.0
This commit is contained in:
parent
c93b6deaf8
commit
c217cab5db
@ -6,6 +6,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
|
|||||||
import eu.kanade.tachiyomi.data.database.models.ChapterImpl
|
import eu.kanade.tachiyomi.data.database.models.ChapterImpl
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||||
import eu.kanade.tachiyomi.data.database.models.MangaCategory
|
import eu.kanade.tachiyomi.data.database.models.MangaCategory
|
||||||
|
import exh.metadata.metadata.EHentaiSearchMetadata
|
||||||
|
import exh.metadata.metadata.base.getFlatMetadataForManga
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
import rx.Single
|
import rx.Single
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
@ -58,7 +60,24 @@ class EHentaiUpdateHelper(context: Context) {
|
|||||||
if(toDiscard.isNotEmpty()) {
|
if(toDiscard.isNotEmpty()) {
|
||||||
// Copy chain chapters to curChapters
|
// Copy chain chapters to curChapters
|
||||||
val newChapters = toDiscard
|
val newChapters = toDiscard
|
||||||
.flatMap { it.chapters }
|
.flatMap { chain ->
|
||||||
|
val meta by lazy {
|
||||||
|
db.getFlatMetadataForManga(chain.manga.id!!)
|
||||||
|
.executeAsBlocking()
|
||||||
|
?.raise<EHentaiSearchMetadata>()
|
||||||
|
}
|
||||||
|
|
||||||
|
chain.chapters.map { chapter ->
|
||||||
|
// Convert old style chapters to new style chapters if possible
|
||||||
|
if(chapter.date_upload <= 0
|
||||||
|
&& meta?.datePosted != null
|
||||||
|
&& meta?.title != null) {
|
||||||
|
chapter.name = meta!!.title!!
|
||||||
|
chapter.date_upload = meta!!.datePosted!!
|
||||||
|
}
|
||||||
|
chapter
|
||||||
|
}
|
||||||
|
}
|
||||||
.fold(accepted.chapters) { curChapters, chapter ->
|
.fold(accepted.chapters) { curChapters, chapter ->
|
||||||
val existing = curChapters.find { it.url == chapter.url }
|
val existing = curChapters.find { it.url == chapter.url }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user