|  | @@ -5,11 +5,11 @@ import android.content.Context
 | 
	
		
			
				|  |  |  import android.util.AttributeSet
 | 
	
		
			
				|  |  |  import android.view.LayoutInflater
 | 
	
		
			
				|  |  |  import android.widget.FrameLayout
 | 
	
		
			
				|  |  | -import androidx.core.content.ContextCompat
 | 
	
		
			
				|  |  |  import androidx.core.view.isVisible
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.R
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.data.download.model.Download
 | 
	
		
			
				|  |  |  import eu.kanade.tachiyomi.databinding.ChapterDownloadViewBinding
 | 
	
		
			
				|  |  | +import eu.kanade.tachiyomi.util.view.setVectorCompat
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class ChapterDownloadView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
 | 
	
		
			
				|  |  |      FrameLayout(context, attrs) {
 | 
	
	
		
			
				|  | @@ -28,18 +28,12 @@ class ChapterDownloadView @JvmOverloads constructor(context: Context, attrs: Att
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      fun setState(state: Download.State, progress: Int = 0) {
 | 
	
		
			
				|  |  |          val isDirty = this.state.value != state.value || this.progress != progress
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        this.state = state
 | 
	
		
			
				|  |  | -        this.progress = progress
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          if (isDirty) {
 | 
	
		
			
				|  |  | -            updateLayout()
 | 
	
		
			
				|  |  | +            updateLayout(state, progress)
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private fun updateLayout() {
 | 
	
		
			
				|  |  | -        binding.downloadIconBorder.isVisible = state == Download.State.NOT_DOWNLOADED || state == Download.State.QUEUE
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    private fun updateLayout(state: Download.State, progress: Int) {
 | 
	
		
			
				|  |  |          binding.downloadIcon.isVisible = state == Download.State.NOT_DOWNLOADED ||
 | 
	
		
			
				|  |  |              state == Download.State.DOWNLOADING || state == Download.State.QUEUE
 | 
	
		
			
				|  |  |          if (state == Download.State.DOWNLOADING || state == Download.State.QUEUE) {
 | 
	
	
		
			
				|  | @@ -59,21 +53,28 @@ class ChapterDownloadView @JvmOverloads constructor(context: Context, attrs: Att
 | 
	
		
			
				|  |  |              binding.downloadIcon.alpha = 1f
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        binding.downloadProgress.isVisible = state == Download.State.DOWNLOADING
 | 
	
		
			
				|  |  | -        binding.downloadProgress.setProgressCompat(progress, true)
 | 
	
		
			
				|  |  | +        binding.downloadProgress.isVisible = state == Download.State.DOWNLOADING ||
 | 
	
		
			
				|  |  | +            state == Download.State.NOT_DOWNLOADED || state == Download.State.QUEUE
 | 
	
		
			
				|  |  | +        if (state == Download.State.DOWNLOADING) {
 | 
	
		
			
				|  |  | +            binding.downloadProgress.setProgressCompat(progress, true)
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            binding.downloadProgress.setProgressCompat(100, true)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          binding.downloadStatusIcon.apply {
 | 
	
		
			
				|  |  |              if (state == Download.State.DOWNLOADED || state == Download.State.ERROR) {
 | 
	
		
			
				|  |  |                  isVisible = true
 | 
	
		
			
				|  |  | -                val drawable = if (state == Download.State.DOWNLOADED) {
 | 
	
		
			
				|  |  | -                    ContextCompat.getDrawable(context, R.drawable.ic_check_circle_24dp)
 | 
	
		
			
				|  |  | +                if (state == Download.State.DOWNLOADED) {
 | 
	
		
			
				|  |  | +                    setVectorCompat(R.drawable.ic_check_circle_24dp, android.R.attr.textColorPrimary)
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  | -                    ContextCompat.getDrawable(context, R.drawable.ic_error_outline_24dp)
 | 
	
		
			
				|  |  | +                    setVectorCompat(R.drawable.ic_error_outline_24dp, R.attr.colorError)
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                setImageDrawable(drawable)
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  isVisible = false
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        this.state = state
 | 
	
		
			
				|  |  | +        this.progress = progress
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |