Probably fix random source crashes

This commit is contained in:
Jobobby04 2022-09-26 14:00:15 -04:00
parent 8d91c54c18
commit 89b30bd8d8
4 changed files with 10 additions and 2 deletions

View File

@ -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,

View File

@ -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) {

View File

@ -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) {

View File

@ -206,3 +206,8 @@ selectLastInsertRow:
SELECT *
FROM mangas
WHERE _id = last_insert_rowid();
getIdByUrlAndSource:
SELECT _id
FROM mangas
WHERE url = :url AND source = :source;