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? {
|
override suspend fun insert(manga: Manga): Long? {
|
||||||
return handler.awaitOneOrNull(true) {
|
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(
|
mangasQueries.insert(
|
||||||
source = manga.source,
|
source = manga.source,
|
||||||
url = manga.url,
|
url = manga.url,
|
||||||
|
@ -260,7 +260,6 @@ open class FeedPresenter(
|
|||||||
* @param sManga the manga from the source.
|
* @param sManga the manga from the source.
|
||||||
* @return a manga from the database.
|
* @return a manga from the database.
|
||||||
*/
|
*/
|
||||||
@Synchronized
|
|
||||||
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
||||||
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
||||||
if (localManga == null) {
|
if (localManga == null) {
|
||||||
|
@ -219,7 +219,6 @@ open class SourceFeedPresenter(
|
|||||||
* @param sManga the manga from the source.
|
* @param sManga the manga from the source.
|
||||||
* @return a manga from the database.
|
* @return a manga from the database.
|
||||||
*/
|
*/
|
||||||
@Synchronized
|
|
||||||
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
private fun networkToLocalManga(sManga: SManga, sourceId: Long): Manga {
|
||||||
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
var localManga = runBlocking { getManga.await(sManga.url, sourceId) }
|
||||||
if (localManga == null) {
|
if (localManga == null) {
|
||||||
|
@ -206,3 +206,8 @@ selectLastInsertRow:
|
|||||||
SELECT *
|
SELECT *
|
||||||
FROM mangas
|
FROM mangas
|
||||||
WHERE _id = last_insert_rowid();
|
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