Add error handling to migrations
This commit is contained in:
parent
a75457ad88
commit
08f6317beb
1 changed files with 7 additions and 1 deletions
|
@ -85,7 +85,9 @@ class MigrationPresenter(
|
|||
state = state.copy(isReplacingManga = true)
|
||||
|
||||
Observable.defer { source.fetchChapterList(manga) }
|
||||
.onErrorReturn { emptyList() }
|
||||
.doOnNext { migrateMangaInternal(source, it, prevManga, manga, replace) }
|
||||
.onErrorReturn { emptyList() }
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.doOnUnsubscribe { state = state.copy(isReplacingManga = false) }
|
||||
|
@ -98,7 +100,11 @@ class MigrationPresenter(
|
|||
db.inTransaction {
|
||||
// Update chapters read
|
||||
if (preferences.migrateChapters().getOrDefault()) {
|
||||
syncChaptersWithSource(db, sourceChapters, manga, source)
|
||||
try {
|
||||
syncChaptersWithSource(db, sourceChapters, manga, source)
|
||||
} catch (e: Exception) {
|
||||
// Worst case, chapters won't be synced
|
||||
}
|
||||
|
||||
val prevMangaChapters = db.getChapters(prevManga).executeAsBlocking()
|
||||
val maxChapterRead = prevMangaChapters.filter { it.read }
|
||||
|
|
Reference in a new issue