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.
This commit is contained in:
FlaminSarge 2021-10-30 09:15:48 -07:00 committed by GitHub
parent 4f56071786
commit 58a871c8cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 0 deletions

View file

@ -202,6 +202,10 @@ open class BrowseSourcePresenter(
val result = db.insertManga(newManga).executeAsBlocking() val result = db.insertManga(newManga).executeAsBlocking()
newManga.id = result.insertedId() newManga.id = result.insertedId()
localManga = newManga 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 return localManga
} }

View file

@ -267,6 +267,10 @@ open class GlobalSearchPresenter(
val result = db.insertManga(newManga).executeAsBlocking() val result = db.insertManga(newManga).executeAsBlocking()
newManga.id = result.insertedId() newManga.id = result.insertedId()
localManga = newManga 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 return localManga
} }

View file

@ -204,6 +204,10 @@ class MangaPresenter(
val sManga = networkManga.toSManga() val sManga = networkManga.toSManga()
manga.prepUpdateCover(coverCache, sManga, manualFetch) manga.prepUpdateCover(coverCache, sManga, manualFetch)
manga.copyFrom(sManga) 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 manga.initialized = true
db.insertManga(manga).executeAsBlocking() db.insertManga(manga).executeAsBlocking()