Allow manga titles to update from source if they are not in library (#6177)

The previous rationale for not allowing manga titles to update (at all) was that it would be confusing for users if a manga's title arbitrarily changed when the source changed it. Presumably, users would care less about this arbitrary change for manga that is not in library, so this provides a path for getting a manga's title updated, and prevents incorrect titles from persisting in the DB for manga that get title updates but aren't in library.

(cherry picked from commit 58a871c8cc600dbf59691e9c51413ef9b7da3796)
This commit is contained in:
FlaminSarge 2021-10-30 09:15:48 -07:00 committed by Jobobby04
parent eb49df6ee8
commit 23fae05694
3 changed files with 12 additions and 0 deletions

View File

@ -241,6 +241,10 @@ open class BrowseSourcePresenter(
val result = db.insertManga(newManga).executeAsBlocking()
newManga.id = result.insertedId()
localManga = newManga
} else if (!localManga.favorite) {
// if the manga isn't a favorite, set its display title from source
// if it later becomes a favorite, updated title will go to db
localManga.title = sManga.title
}
return localManga
}

View File

@ -269,6 +269,10 @@ open class GlobalSearchPresenter(
val result = db.insertManga(newManga).executeAsBlocking()
newManga.id = result.insertedId()
localManga = newManga
} else if (!localManga.favorite) {
// if the manga isn't a favorite, set its display title from source
// if it later becomes a favorite, updated title will go to db
localManga.title = sManga.title
}
return localManga
}

View File

@ -316,6 +316,10 @@ class MangaPresenter(
val sManga = networkManga.toSManga()
manga.prepUpdateCover(coverCache, sManga, manualFetch)
manga.copyFrom(sManga)
if (!manga.favorite) {
// if the manga isn't a favorite, set its title from source and update in db
manga.title = sManga.title
}
manga.initialized = true
db.insertManga(manga).executeAsBlocking()