mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Retry calls
This commit is contained in:
		| @@ -30,7 +30,7 @@ public final class NetworkHelper { | ||||
|     } | ||||
|  | ||||
|     public Observable<Response> getResponse(final String url, final Headers headers, final CacheControl cacheControl) { | ||||
|         return Observable.create(subscriber -> { | ||||
|         return Observable.<Response>create(subscriber -> { | ||||
|             try { | ||||
|                 if (!subscriber.isUnsubscribed()) { | ||||
|                     Request request = new Request.Builder() | ||||
| @@ -44,7 +44,7 @@ public final class NetworkHelper { | ||||
|             } catch (Throwable e) { | ||||
|                 subscriber.onError(e); | ||||
|             } | ||||
|         }); | ||||
|         }).retry(3); | ||||
|     } | ||||
|  | ||||
|     public Observable<String> mapResponseToString(final Response response) { | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import icepick.State; | ||||
| import rx.Observable; | ||||
| import rx.android.schedulers.AndroidSchedulers; | ||||
| import rx.schedulers.Schedulers; | ||||
| import timber.log.Timber; | ||||
|  | ||||
| public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|  | ||||
| @@ -45,9 +46,9 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|                 () -> getPageListObservable() | ||||
|                         .doOnNext(pages -> pageList = pages) | ||||
|                         .doOnCompleted(() -> start(GET_PAGE_IMAGES)), | ||||
|                 (view, pages) -> { | ||||
|                     view.onPageListReady(pages); | ||||
|                 }); | ||||
|                 (view, pages) -> view.onPageListReady(pages), | ||||
|                 (view, error) -> Timber.e("An error occurred while downloading page list") | ||||
|         ); | ||||
|  | ||||
|         restartableReplay(GET_PAGE_IMAGES, | ||||
|                 this::getPageImagesObservable, | ||||
| @@ -56,7 +57,8 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|                     if (page.getPageNumber() == savedSelectedPage) { | ||||
|                         view.setCurrentPage(savedSelectedPage); | ||||
|                     } | ||||
|                 }); | ||||
|                 }, | ||||
|                 (view, error) -> Timber.e("An error occurred while downloading an image")); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -110,15 +112,17 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> { | ||||
|     } | ||||
|  | ||||
|     private Observable<Page> downloadImage(Page page) { | ||||
|         FutureTarget<File> future = glideDownloader.load(page.getImageUrl()) | ||||
|                 .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL); | ||||
|         if (page.getImageUrl() != null) { | ||||
|             FutureTarget<File> future = glideDownloader.load(page.getImageUrl()) | ||||
|                     .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL); | ||||
|  | ||||
|         try { | ||||
|             File cacheFile = future.get(); | ||||
|             page.setImagePath(cacheFile.getCanonicalPath()); | ||||
|             page.setStatus(Page.READY); | ||||
|         } catch (Exception e) { | ||||
|             page.setStatus(Page.ERROR); | ||||
|             try { | ||||
|                 File cacheFile = future.get(); | ||||
|                 page.setImagePath(cacheFile.getCanonicalPath()); | ||||
|                 page.setStatus(Page.READY); | ||||
|             } catch (Exception e) { | ||||
|                 page.setStatus(Page.ERROR); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return Observable.just(page); | ||||
|   | ||||
| @@ -103,7 +103,8 @@ public abstract class Source extends BaseSource { | ||||
|     } | ||||
|  | ||||
|     public void savePageList(String chapterUrl, List<Page> pages) { | ||||
|         mCacheManager.putPageUrlsToDiskCache(chapterUrl, pages); | ||||
|         if (pages != null) | ||||
|             mCacheManager.putPageUrlsToDiskCache(chapterUrl, pages); | ||||
|     } | ||||
|  | ||||
|     private List<Page> convertToPages(List<String> pageUrls) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user