More themes cleanup (#5410)

* More themes cleanup

* Tweak some things

* Fix 'Clear History' icon

* Split out ripple colored to its own drawable

* Tidy up things

* Unify background dim amount

* Use primaryColor for Account login button

* More colored ripples

* use colorOnPrimary for selected comfortable library item title

Co-authored-by: Soitora <simon.mattila@protonmail.com>
This commit is contained in:
Ivan Iskandar
2021-06-20 02:45:16 +07:00
committed by GitHub
parent 05771ddf6d
commit 932c92412c
108 changed files with 556 additions and 882 deletions

View File

@ -101,12 +101,13 @@ abstract class SettingsController : PreferenceController() {
private fun animatePreferenceHighlight(view: View) {
val origBackground = view.background
ValueAnimator
.ofObject(ArgbEvaluator(), Color.TRANSPARENT, view.context.getResourceColor(R.attr.rippleColor))
.ofObject(ArgbEvaluator(), Color.TRANSPARENT, view.context.getResourceColor(R.attr.colorControlHighlight))
.apply {
duration = 500L
repeatCount = 2
duration = 200L
repeatCount = 5
repeatMode = ValueAnimator.REVERSE
addUpdateListener { animator -> view.setBackgroundColor(animator.animatedValue as Int) }
reverse()
start()
}
.doOnEnd {
// Restore original ripple

View File

@ -157,7 +157,7 @@ class WebViewActivity : BaseViewBindingActivity<WebviewActivityBinding>() {
backItem?.isEnabled = binding.webview.canGoBack()
forwardItem?.isEnabled = binding.webview.canGoForward()
val iconTintColor = getResourceColor(R.attr.colorOnPrimary)
val iconTintColor = getResourceColor(R.attr.colorOnToolbar)
val translucentIconTintColor = ColorUtils.setAlphaComponent(iconTintColor, 127)
backItem?.icon?.setTint(if (binding.webview.canGoBack()) iconTintColor else translucentIconTintColor)
forwardItem?.icon?.setTint(if (binding.webview.canGoForward()) iconTintColor else translucentIconTintColor)

View File

@ -93,7 +93,7 @@ fun Context.copyToClipboard(label: String, content: String) {
*/
fun Context.notificationBuilder(channelId: String, block: (NotificationCompat.Builder.() -> Unit)? = null): NotificationCompat.Builder {
val builder = NotificationCompat.Builder(this, channelId)
.setColor(ContextCompat.getColor(this, R.color.colorPrimary))
.setColor(ContextCompat.getColor(this, R.color.accent_lightblue))
if (block != null) {
builder.block()
}

View File

@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.widget
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Color
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.LinearLayout
@ -12,6 +11,7 @@ import androidx.annotation.StringRes
import androidx.appcompat.view.ContextThemeWrapper
import androidx.core.view.isVisible
import com.google.android.material.button.MaterialButton
import com.mikepenz.aboutlibraries.util.getThemeColor
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.databinding.CommonViewEmptyBinding
import kotlin.random.Random
@ -42,17 +42,22 @@ class EmptyView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
binding.textLabel.text = message
binding.actionsContainer.removeAllViews()
val buttonContext = ContextThemeWrapper(context, R.style.Widget_Tachiyomi_Button_ActionButton)
val buttonColor = ColorStateList.valueOf(context.getThemeColor(R.attr.colorOnBackground))
actions?.forEach {
val button = MaterialButton(ContextThemeWrapper(context, R.style.Theme_Widget_Button_Action)).apply {
val button = MaterialButton(
buttonContext,
null,
R.attr.borderlessButtonStyle
).apply {
layoutParams = LinearLayout.LayoutParams(
0,
LinearLayout.LayoutParams.WRAP_CONTENT,
1f / actions.size
)
backgroundTintList = ColorStateList.valueOf(Color.TRANSPARENT)
stateListAnimator = null
elevation = 0f
setTextColor(buttonColor)
iconTint = buttonColor
setIconResource(it.iconResId)
setText(it.stringResId)

View File

@ -2,22 +2,18 @@ package eu.kanade.tachiyomi.widget
import android.content.Context
import android.util.AttributeSet
import androidx.core.content.ContextCompat
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.mikepenz.aboutlibraries.util.getThemeColor
import eu.kanade.tachiyomi.R
class ThemedSwipeRefreshLayout @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
SwipeRefreshLayout(context, attrs) {
class ThemedSwipeRefreshLayout @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : SwipeRefreshLayout(context, attrs) {
init {
setColors()
}
private fun setColors() {
// Background is controlled with "swipeRefreshLayoutProgressSpinnerBackgroundColor" in XML
// Background
setProgressBackgroundColorSchemeColor(context.getThemeColor(R.attr.colorPrimary))
// This updates the progress arrow color
val white = ContextCompat.getColor(context, R.color.md_white_1000)
setColorSchemeColors(white, white, white)
setColorSchemeColors(context.getThemeColor(R.attr.colorOnPrimary))
}
}