From bf80dd622c9ebbdd27500f210858231a74ac3f4f Mon Sep 17 00:00:00 2001 From: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com> Date: Sun, 25 Apr 2021 22:36:13 +0700 Subject: [PATCH] Fix download error icon color tint (#4959) * Fix download error color tint * Use progress indicator as download icon border * Resolve feedback * Use extension function to set tinted drawable --- .../ui/manga/chapter/ChapterDownloadView.kt | 31 ++++++++++--------- app/src/main/res/drawable/border_circle.xml | 12 ------- .../res/drawable/ic_error_outline_24dp.xml | 3 +- .../main/res/layout/chapter_download_view.xml | 14 +-------- 4 files changed, 18 insertions(+), 42 deletions(-) delete mode 100644 app/src/main/res/drawable/border_circle.xml diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterDownloadView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterDownloadView.kt index 59a0c5367..e53ab627e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterDownloadView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterDownloadView.kt @@ -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 } } diff --git a/app/src/main/res/drawable/border_circle.xml b/app/src/main/res/drawable/border_circle.xml deleted file mode 100644 index 4dbe8c7bd..000000000 --- a/app/src/main/res/drawable/border_circle.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/ic_error_outline_24dp.xml b/app/src/main/res/drawable/ic_error_outline_24dp.xml index 74e652794..5ea6b9db1 100644 --- a/app/src/main/res/drawable/ic_error_outline_24dp.xml +++ b/app/src/main/res/drawable/ic_error_outline_24dp.xml @@ -2,8 +2,7 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24" - android:viewportHeight="24" - android:tint="?colorError"> + android:viewportHeight="24"> diff --git a/app/src/main/res/layout/chapter_download_view.xml b/app/src/main/res/layout/chapter_download_view.xml index 9b5d5c6dd..f1bb020d9 100644 --- a/app/src/main/res/layout/chapter_download_view.xml +++ b/app/src/main/res/layout/chapter_download_view.xml @@ -7,16 +7,6 @@ android:padding="8dp" android:background="?selectableItemBackgroundBorderless"> - -