Probably fix random source crashes
This commit is contained in:
parent
8d91c54c18
commit
89b30bd8d8
@ -79,6 +79,11 @@ class MangaRepositoryImpl(
|
||||
|
||||
override suspend fun insert(manga: Manga): Long? {
|
||||
return handler.awaitOneOrNull(true) {
|
||||
// SY -->
|
||||
if (mangasQueries.getIdByUrlAndSource(manga.url, manga.source).executeAsOneOrNull() != null) {
|
||||
return@awaitOneOrNull mangasQueries.getIdByUrlAndSource(manga.url, manga.source)
|
||||
}
|
||||
// SY <--
|
||||
mangasQueries.insert(
|
||||
source = manga.source,
|
||||
url = manga.url,
|
||||
|
@ -260,7 +260,6 @@ open class FeedPresenter(
|
||||
* @param sManga the manga from the source.
|
||||
* @return a manga from the database.
|
||||
*/
|
||||
@Synchronized
|
||||
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
||||
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
||||
if (localManga == null) {
|
||||
|
@ -219,7 +219,6 @@ open class SourceFeedPresenter(
|
||||
* @param sManga the manga from the source.
|
||||
* @return a manga from the database.
|
||||
*/
|
||||
@Synchronized
|
||||
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
||||
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
||||
if (localManga == null) {
|
||||
|
@ -206,3 +206,8 @@ selectLastInsertRow:
|
||||
SELECT *
|
||||
FROM mangas
|
||||
WHERE _id = last_insert_rowid();
|
||||
|
||||
getIdByUrlAndSource:
|
||||
SELECT _id
|
||||
FROM mangas
|
||||
WHERE url = :url AND source = :source;
|
||||
|
Loading…
x
Reference in New Issue
Block a user