diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ChipsView.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ChipsView.kt
index 9825b9172..53fb7f657 100644
--- a/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ChipsView.kt
+++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/widgets/ChipsView.kt
@@ -1,10 +1,13 @@
package org.koitharu.kotatsu.base.ui.widgets
+import android.annotation.SuppressLint
import android.content.Context
+import android.content.res.ColorStateList
import android.util.AttributeSet
import android.view.View.OnClickListener
import androidx.annotation.ColorRes
import androidx.core.content.ContextCompat
+import androidx.core.content.res.getColorStateListOrThrow
import androidx.core.view.children
import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipDrawable
@@ -28,6 +31,8 @@ class ChipsView @JvmOverloads constructor(
private val chipOnCloseListener = OnClickListener {
onChipCloseClickListener?.onChipCloseClick(it as Chip, it.tag)
}
+ private val defaultChipStrokeColor: ColorStateList
+ private val defaultChipTextColor: ColorStateList
var onChipClickListener: OnChipClickListener? = null
set(value) {
field = value
@@ -41,6 +46,14 @@ class ChipsView @JvmOverloads constructor(
children.forEach { (it as? Chip)?.isCloseIconVisible = isCloseIconVisible }
}
+ init {
+ @SuppressLint("CustomViewStyleable")
+ val a = context.obtainStyledAttributes(null, materialR.styleable.Chip, 0, R.style.Widget_Kotatsu_Chip)
+ defaultChipStrokeColor = a.getColorStateListOrThrow(materialR.styleable.Chip_chipStrokeColor)
+ defaultChipTextColor = a.getColorStateListOrThrow(materialR.styleable.Chip_android_textColor)
+ a.recycle()
+ }
+
override fun requestLayout() {
if (isLayoutSuppressedCompat) {
isLayoutCalledOnSuppressed = true
@@ -81,7 +94,10 @@ class ChipsView @JvmOverloads constructor(
} else {
ContextCompat.getColorStateList(context, model.tint)
}
- chip.buttonTintList = tint
+ chip.chipIconTint = tint
+ chip.checkedIconTint = tint
+ chip.chipStrokeColor = tint ?: defaultChipStrokeColor
+ chip.setTextColor(tint ?: defaultChipTextColor)
chip.isClickable = onChipClickListener != null || model.isCheckable
chip.isCheckable = model.isCheckable
chip.isChecked = model.isChecked
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 9529f4d9d..ca8f7c139 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -9,5 +9,5 @@
#29FFFFFF
#1FFFFFFF
#260052
- #EF6C00
+ #FB8C00
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index c05d7cf91..28cfa11ae 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -22,5 +22,5 @@
#29000000
#1F000000
#334800E0
- #FFA726
+ #E65100
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 88030d607..504c894bc 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -94,7 +94,7 @@