|
|
|
@ -79,7 +79,8 @@ class MangaPresenter(
|
|
|
|
|
/**
|
|
|
|
|
* Subscription to observe download status changes.
|
|
|
|
|
*/
|
|
|
|
|
private var observeDownloadsSubscription: Subscription? = null
|
|
|
|
|
private var observeDownloadsStatusSubscription: Subscription? = null
|
|
|
|
|
private var observeDownloadsPageSubscription: Subscription? = null
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedState: Bundle?) {
|
|
|
|
|
super.onCreate(savedState)
|
|
|
|
@ -293,12 +294,20 @@ class MangaPresenter(
|
|
|
|
|
// Chapters list - start
|
|
|
|
|
|
|
|
|
|
private fun observeDownloads() {
|
|
|
|
|
observeDownloadsSubscription?.let { remove(it) }
|
|
|
|
|
observeDownloadsSubscription = downloadManager.queue.getStatusObservable()
|
|
|
|
|
observeDownloadsStatusSubscription?.let { remove(it) }
|
|
|
|
|
observeDownloadsStatusSubscription = downloadManager.queue.getStatusObservable()
|
|
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
|
|
.filter { download -> download.manga.id == manga.id }
|
|
|
|
|
.doOnNext { onDownloadStatusChange(it) }
|
|
|
|
|
.subscribeLatestCache(MangaController::onChapterStatusChange) { _, error ->
|
|
|
|
|
.subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error ->
|
|
|
|
|
Timber.e(error)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
observeDownloadsPageSubscription?.let { remove(it) }
|
|
|
|
|
observeDownloadsPageSubscription = downloadManager.queue.getProgressObservable()
|
|
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
|
|
.filter { download -> download.manga.id == manga.id }
|
|
|
|
|
.subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error ->
|
|
|
|
|
Timber.e(error)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|