Maintain correct source order even when receiving new chapters from a sync service (jobobby04/TachiyomiSY#1360)
* Maintain correct source order even when receiving new chapters from sync service * Add comma required by build service (cherry picked from commit a32c7186e43fe616c5956f04c0cef50b450d97c1)
This commit is contained in:
parent
904b357f40
commit
573f1cf20a
2 changed files with 9 additions and 2 deletions
|
|
@ -205,6 +205,7 @@ class MangaRestorer(
|
||||||
bookmark = chapter.bookmark || dbChapter.bookmark,
|
bookmark = chapter.bookmark || dbChapter.bookmark,
|
||||||
read = chapter.read,
|
read = chapter.read,
|
||||||
lastPageRead = chapter.lastPageRead,
|
lastPageRead = chapter.lastPageRead,
|
||||||
|
sourceOrder = chapter.sourceOrder,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
chapter.copyFrom(dbChapter).let {
|
chapter.copyFrom(dbChapter).let {
|
||||||
|
|
@ -255,7 +256,7 @@ class MangaRestorer(
|
||||||
bookmark = chapter.bookmark,
|
bookmark = chapter.bookmark,
|
||||||
lastPageRead = chapter.lastPageRead,
|
lastPageRead = chapter.lastPageRead,
|
||||||
chapterNumber = null,
|
chapterNumber = null,
|
||||||
sourceOrder = null,
|
sourceOrder = if (isSync) chapter.sourceOrder else null,
|
||||||
dateFetch = null,
|
dateFetch = null,
|
||||||
dateUpload = null,
|
dateUpload = null,
|
||||||
chapterId = chapter.id,
|
chapterId = chapter.id,
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,12 @@ abstract class SyncService(
|
||||||
localChapter != null && remoteChapter != null -> {
|
localChapter != null && remoteChapter != null -> {
|
||||||
// Use version number to decide which chapter to keep
|
// Use version number to decide which chapter to keep
|
||||||
val chosenChapter = if (localChapter.version >= remoteChapter.version) {
|
val chosenChapter = if (localChapter.version >= remoteChapter.version) {
|
||||||
localChapter
|
// If there mare more chapter on remote, local sourceOrder will need to be updated to maintain correct source order.
|
||||||
|
if (localChapters.size < remoteChapters.size) {
|
||||||
|
localChapter.copy(sourceOrder = remoteChapter.sourceOrder)
|
||||||
|
} else {
|
||||||
|
localChapter
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
remoteChapter
|
remoteChapter
|
||||||
}
|
}
|
||||||
|
|
@ -500,6 +505,7 @@ abstract class SyncService(
|
||||||
logcat(LogPriority.DEBUG, logTag) { "Using remote saved search: ${remoteSearch.name}." }
|
logcat(LogPriority.DEBUG, logTag) { "Using remote saved search: ${remoteSearch.name}." }
|
||||||
remoteSearch
|
remoteSearch
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
logcat(LogPriority.DEBUG, logTag) {
|
logcat(LogPriority.DEBUG, logTag) {
|
||||||
"No saved search found for composite key: $compositeKey. Skipping."
|
"No saved search found for composite key: $compositeKey. Skipping."
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue