mirror of
https://github.com/mihonapp/mihon.git
synced 2025-07-02 05:57:50 +02:00
Initial chapter download icon implementation
This commit is contained in:
@ -0,0 +1,36 @@
|
||||
package eu.kanade.tachiyomi.ui.manga.chapter
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.FrameLayout
|
||||
import androidx.core.view.isVisible
|
||||
import eu.kanade.tachiyomi.databinding.ChapterDownloadViewBinding
|
||||
|
||||
class ChapterDownloadView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
||||
FrameLayout(context, attrs) {
|
||||
|
||||
private val binding: ChapterDownloadViewBinding
|
||||
|
||||
init {
|
||||
binding = ChapterDownloadViewBinding.inflate(LayoutInflater.from(context), this, false)
|
||||
addView(binding.root)
|
||||
}
|
||||
|
||||
fun setState(state: State) {
|
||||
binding.downloadIconBorder.isVisible = state == State.DOWNLOAD || state == State.ERROR
|
||||
binding.downloadIcon.isVisible = state == State.DOWNLOAD || state == State.DOWNLOADING
|
||||
|
||||
binding.downloadProgress.isVisible = state == State.DOWNLOADING || state == State.QUEUED
|
||||
|
||||
binding.downloadedIcon.isVisible = state == State.DOWNLOADED
|
||||
}
|
||||
|
||||
enum class State {
|
||||
DOWNLOAD,
|
||||
QUEUED,
|
||||
DOWNLOADING,
|
||||
ERROR,
|
||||
DOWNLOADED,
|
||||
}
|
||||
}
|
@ -71,13 +71,13 @@ class ChapterHolder(
|
||||
notifyStatus(item.status)
|
||||
}
|
||||
|
||||
fun notifyStatus(status: Int) = with(binding.downloadText) {
|
||||
private fun notifyStatus(status: Int) = with(binding.download) {
|
||||
when (status) {
|
||||
Download.QUEUE -> setText(R.string.chapter_queued)
|
||||
Download.DOWNLOADING -> setText(R.string.chapter_downloading)
|
||||
Download.DOWNLOADED -> setText(R.string.chapter_downloaded)
|
||||
Download.ERROR -> setText(R.string.chapter_error)
|
||||
else -> text = ""
|
||||
Download.QUEUE -> setState(ChapterDownloadView.State.QUEUED)
|
||||
Download.DOWNLOADING -> setState(ChapterDownloadView.State.DOWNLOADING)
|
||||
Download.DOWNLOADED -> setState(ChapterDownloadView.State.DOWNLOADED)
|
||||
Download.ERROR -> setState(ChapterDownloadView.State.ERROR)
|
||||
else -> setState(ChapterDownloadView.State.DOWNLOAD)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user