mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Remove newThread usages, it probably fixes random crashes
This commit is contained in:
		| @@ -273,7 +273,7 @@ class DownloadManager( | ||||
|                     page | ||||
|                 } | ||||
|                 // Retry 3 times, waiting 2, 4 and 8 seconds between attempts. | ||||
|                 .retryWhen(RetryWithDelay(3, { (2 shl it - 1) * 1000 })) | ||||
|                 .retryWhen(RetryWithDelay(3, { (2 shl it - 1) * 1000 }, Schedulers.trampoline())) | ||||
|     } | ||||
|  | ||||
|     // Public method to get the image from the filesystem. It does NOT provide any way to download the image | ||||
|   | ||||
| @@ -14,7 +14,6 @@ import nucleus.factory.RequiresPresenter | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import rx.subscriptions.CompositeSubscription | ||||
| import java.util.* | ||||
| import java.util.concurrent.TimeUnit | ||||
| @@ -179,7 +178,7 @@ class DownloadFragment : BaseRxFragment<DownloadPresenter>() { | ||||
|      * @param download the download to observe its progress. | ||||
|      */ | ||||
|     private fun observeProgress(download: Download) { | ||||
|         val subscription = Observable.interval(50, TimeUnit.MILLISECONDS, Schedulers.newThread()) | ||||
|         val subscription = Observable.interval(50, TimeUnit.MILLISECONDS) | ||||
|                 // Get the sum of percentages for all the pages. | ||||
|                 .flatMap { | ||||
|                     Observable.from(download.pages) | ||||
|   | ||||
| @@ -21,7 +21,6 @@ import kotlinx.android.synthetic.main.item_pager_reader.* | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import rx.subjects.PublishSubject | ||||
| import rx.subjects.SerializedSubject | ||||
| import java.io.File | ||||
| @@ -168,7 +167,7 @@ class PagerReaderFragment : BaseFragment() { | ||||
|         val currentValue = AtomicInteger(-1) | ||||
|  | ||||
|         progressSubscription?.unsubscribe() | ||||
|         progressSubscription = Observable.interval(100, TimeUnit.MILLISECONDS, Schedulers.newThread()) | ||||
|         progressSubscription = Observable.interval(100, TimeUnit.MILLISECONDS) | ||||
|                 .onBackpressureLatest() | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribe { | ||||
|   | ||||
| @@ -1,12 +1,15 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
|  | ||||
| import rx.Observable | ||||
| import rx.Scheduler | ||||
| import rx.functions.Func1 | ||||
| import rx.schedulers.Schedulers | ||||
| import java.util.concurrent.TimeUnit.MILLISECONDS | ||||
|  | ||||
| class RetryWithDelay( | ||||
|         private val maxRetries: Int = 1, | ||||
|         private val retryStrategy: (Int) -> Int = { 1000 } | ||||
|         private val retryStrategy: (Int) -> Int = { 1000 }, | ||||
|         private val scheduler: Scheduler = Schedulers.computation() | ||||
| ) : Func1<Observable<out Throwable>, Observable<*>> { | ||||
|  | ||||
|     private var retryCount = 0 | ||||
| @@ -14,7 +17,7 @@ class RetryWithDelay( | ||||
|     override fun call(attempts: Observable<out Throwable>) = attempts.flatMap { error -> | ||||
|         val count = ++retryCount | ||||
|         if (count <= maxRetries) { | ||||
|             Observable.timer(retryStrategy(count).toLong(), MILLISECONDS) | ||||
|             Observable.timer(retryStrategy(count).toLong(), MILLISECONDS, scheduler) | ||||
|         } else { | ||||
|             Observable.error(error as Throwable) | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user