Make sure the answer from MAL is successful before updating DB.
Cette révision appartient à :
Parent
a32c1b5eb2
révision
5f44e5d492
2 fichiers modifiés avec 8 ajouts et 2 suppressions
|
@ -61,7 +61,12 @@ public class UpdateMangaSyncService extends Service {
|
|||
MangaSyncService sync = syncManager.getSyncService(mangaSync.sync_id);
|
||||
|
||||
subscriptions.add(Observable.defer(() -> sync.update(mangaSync))
|
||||
.flatMap(response -> db.insertMangaSync(mangaSync).createObservable())
|
||||
.flatMap(response -> {
|
||||
if (response.isSuccessful()) {
|
||||
return db.insertMangaSync(mangaSync).createObservable();
|
||||
}
|
||||
return Observable.error(new Exception("Could not update MAL"));
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(result -> {
|
||||
|
|
|
@ -113,8 +113,9 @@ public class MyAnimeListPresenter extends BasePresenter<MyAnimeListFragment> {
|
|||
manga.manga_id = this.manga.id;
|
||||
add(myAnimeList.bind(manga)
|
||||
.flatMap(response -> {
|
||||
if (response.code() == 200 || response.code() == 201)
|
||||
if (response.isSuccessful()) {
|
||||
return Observable.just(manga);
|
||||
}
|
||||
return Observable.error(new Exception("Could not add manga"));
|
||||
})
|
||||
.flatMap(manga2 -> db.insertMangaSync(manga2).createObservable())
|
||||
|
|
Référencer dans un nouveau ticket