Better error handling for images

This commit is contained in:
inorichi
2015-10-27 17:12:16 +01:00
parent 35b8be6c75
commit 68e5efb02b
11 changed files with 69 additions and 39 deletions
@@ -52,7 +52,7 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
restartableReplay(GET_PAGE_IMAGES,
this::getPageImagesObservable,
(view, page) -> {
view.onImageReady(page);
view.onNextPage(page);
if (page.getPageNumber() == savedSelectedPage) {
view.setCurrentPage(savedSelectedPage);
}
@@ -100,9 +100,10 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
private Observable<Page> getPageImagesObservable() {
return Observable.merge(
Observable.from(pageList).filter(page -> page.getImageUrl() != null),
source.getRemainingImageUrlsFromPageList(pageList)
.doOnNext(this::replacePageUrl))
Observable.from(pageList).filter(page -> page.getImageUrl() != null),
source.getRemainingImageUrlsFromPageList(pageList)
.doOnNext(this::replacePageUrl)
)
.flatMap(this::downloadImage)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
@@ -115,9 +116,9 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
try {
File cacheFile = future.get();
page.setImagePath(cacheFile.getCanonicalPath());
page.setStatus(Page.READY);
} catch (Exception e) {
e.printStackTrace();
page.setStatus(Page.ERROR);
}
return Observable.just(page);