Address button color issues

This commit is contained in:
Rahul Patel
2024-07-29 23:53:12 +05:30
parent 8aeec0c082
commit 0a25a7e755
7 changed files with 78 additions and 11 deletions

View File

@@ -20,9 +20,13 @@
package com.aurora.store.view.custom.layouts.button
import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet
import android.widget.RelativeLayout
import com.aurora.extensions.accentColor
import com.aurora.extensions.darkenColor
import com.aurora.extensions.getString
import com.aurora.extensions.lightenColor
import com.aurora.extensions.runOnUiThread
import com.aurora.store.R
import com.aurora.store.data.model.DownloadStatus
@@ -51,6 +55,15 @@ class UpdateButton : RelativeLayout {
private fun init(context: Context) {
val view = inflate(context, R.layout.view_update_button, this)
binding = ViewUpdateButtonBinding.bind(view)
// Apply primaryColor tint to all buttons with alpha
val alphaAccent = lightenColor(context.accentColor(), alpha = 200)
binding.btnPositive.backgroundTintList = ColorStateList.valueOf(alphaAccent)
binding.btnNegative.backgroundTintList = ColorStateList.valueOf(alphaAccent)
val textColor = darkenColor(context.accentColor())
binding.btnPositive.setTextColor(textColor)
binding.btnNegative.setTextColor(textColor)
}
fun setText(text: String) {
@@ -65,9 +78,8 @@ class UpdateButton : RelativeLayout {
fun updateState(downloadStatus: DownloadStatus) {
val displayChild = when (downloadStatus) {
DownloadStatus.QUEUED,
DownloadStatus.QUEUED -> 1
DownloadStatus.DOWNLOADING -> 2
else -> 0
}

View File

@@ -25,6 +25,8 @@ import com.airbnb.epoxy.CallbackProp
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.airbnb.epoxy.OnViewRecycled
import com.aurora.extensions.accentColor
import com.aurora.extensions.contrastingColor
import com.aurora.store.databinding.ViewHeaderUpdateBinding
@@ -46,6 +48,7 @@ class UpdateHeaderView @JvmOverloads constructor(
@ModelProp
fun action(action: String) {
binding.btnAction.text = action
binding.btnAction.setTextColor(contrastingColor(context.accentColor()))
}
@CallbackProp