|
|
|
@ -13,7 +13,11 @@ import org.koitharu.kotatsu.databinding.ItemDownloadBinding
|
|
|
|
import org.koitharu.kotatsu.details.ui.DetailsActivity
|
|
|
|
import org.koitharu.kotatsu.details.ui.DetailsActivity
|
|
|
|
import org.koitharu.kotatsu.download.domain.DownloadState
|
|
|
|
import org.koitharu.kotatsu.download.domain.DownloadState
|
|
|
|
import org.koitharu.kotatsu.parsers.util.format
|
|
|
|
import org.koitharu.kotatsu.parsers.util.format
|
|
|
|
import org.koitharu.kotatsu.utils.ext.*
|
|
|
|
import org.koitharu.kotatsu.utils.ext.enqueueWith
|
|
|
|
|
|
|
|
import org.koitharu.kotatsu.utils.ext.getDisplayMessage
|
|
|
|
|
|
|
|
import org.koitharu.kotatsu.utils.ext.newImageRequest
|
|
|
|
|
|
|
|
import org.koitharu.kotatsu.utils.ext.onFirst
|
|
|
|
|
|
|
|
import org.koitharu.kotatsu.utils.ext.referer
|
|
|
|
|
|
|
|
|
|
|
|
fun downloadItemAD(
|
|
|
|
fun downloadItemAD(
|
|
|
|
scope: CoroutineScope,
|
|
|
|
scope: CoroutineScope,
|
|
|
|
@ -40,7 +44,7 @@ fun downloadItemAD(
|
|
|
|
bind {
|
|
|
|
bind {
|
|
|
|
job?.cancel()
|
|
|
|
job?.cancel()
|
|
|
|
job = item.progressAsFlow().onFirst { state ->
|
|
|
|
job = item.progressAsFlow().onFirst { state ->
|
|
|
|
binding.imageViewCover.newImageRequest(state.manga.coverUrl)?.run {
|
|
|
|
binding.imageViewCover.newImageRequest(state.manga.coverUrl, state.manga.source)?.run {
|
|
|
|
referer(state.manga.publicUrl)
|
|
|
|
referer(state.manga.publicUrl)
|
|
|
|
placeholder(state.cover)
|
|
|
|
placeholder(state.cover)
|
|
|
|
fallback(R.drawable.ic_placeholder)
|
|
|
|
fallback(R.drawable.ic_placeholder)
|
|
|
|
@ -60,6 +64,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.Done -> {
|
|
|
|
is DownloadState.Done -> {
|
|
|
|
binding.textViewStatus.setText(R.string.download_complete)
|
|
|
|
binding.textViewStatus.setText(R.string.download_complete)
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
@ -69,6 +74,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.Error -> {
|
|
|
|
is DownloadState.Error -> {
|
|
|
|
binding.textViewStatus.setText(R.string.error_occurred)
|
|
|
|
binding.textViewStatus.setText(R.string.error_occurred)
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
@ -79,6 +85,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = state.canRetry
|
|
|
|
binding.buttonCancel.isVisible = state.canRetry
|
|
|
|
binding.buttonResume.isVisible = state.canRetry
|
|
|
|
binding.buttonResume.isVisible = state.canRetry
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.PostProcessing -> {
|
|
|
|
is DownloadState.PostProcessing -> {
|
|
|
|
binding.textViewStatus.setText(R.string.processing_)
|
|
|
|
binding.textViewStatus.setText(R.string.processing_)
|
|
|
|
binding.progressBar.isIndeterminate = true
|
|
|
|
binding.progressBar.isIndeterminate = true
|
|
|
|
@ -88,6 +95,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonCancel.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.Preparing -> {
|
|
|
|
is DownloadState.Preparing -> {
|
|
|
|
binding.textViewStatus.setText(R.string.preparing_)
|
|
|
|
binding.textViewStatus.setText(R.string.preparing_)
|
|
|
|
binding.progressBar.isIndeterminate = true
|
|
|
|
binding.progressBar.isIndeterminate = true
|
|
|
|
@ -97,6 +105,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = true
|
|
|
|
binding.buttonCancel.isVisible = true
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.Progress -> {
|
|
|
|
is DownloadState.Progress -> {
|
|
|
|
binding.textViewStatus.setText(R.string.manga_downloading_)
|
|
|
|
binding.textViewStatus.setText(R.string.manga_downloading_)
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
@ -109,6 +118,7 @@ fun downloadItemAD(
|
|
|
|
binding.buttonCancel.isVisible = true
|
|
|
|
binding.buttonCancel.isVisible = true
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
binding.buttonResume.isVisible = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
is DownloadState.Queued -> {
|
|
|
|
is DownloadState.Queued -> {
|
|
|
|
binding.textViewStatus.setText(R.string.queued)
|
|
|
|
binding.textViewStatus.setText(R.string.queued)
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
binding.progressBar.isIndeterminate = false
|
|
|
|
|