Add option for system accent
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -21,6 +21,7 @@ package com.aurora.store.util
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import com.aurora.extensions.isSAndAbove
|
||||
import com.aurora.store.R
|
||||
import java.text.DecimalFormat
|
||||
import java.util.*
|
||||
@@ -164,6 +165,7 @@ object CommonUtil {
|
||||
|
||||
fun getAccentStyleById(accentId: Int): Int {
|
||||
return when (accentId) {
|
||||
0 -> R.style.Accent00
|
||||
1 -> R.style.Accent01
|
||||
2 -> R.style.Accent02
|
||||
3 -> R.style.Accent03
|
||||
@@ -177,7 +179,7 @@ object CommonUtil {
|
||||
11 -> R.style.Accent11
|
||||
12 -> R.style.Accent12
|
||||
13 -> R.style.Accent13
|
||||
else -> R.style.Accent01
|
||||
else -> if (isSAndAbove()) R.style.Accent00 else R.style.Accent01
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.content.res.ColorStateList
|
||||
import android.graphics.Color
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.view.isVisible
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
@@ -63,13 +64,22 @@ class AccentView : RelativeLayout {
|
||||
|
||||
@ModelProp
|
||||
fun accent(accent: Accent) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
|
||||
B.img.backgroundTintList = ColorStateList.valueOf(Color.parseColor(accent.accent))
|
||||
if (accent.accent.isBlank()) {
|
||||
B.img.background = ResourcesCompat.getDrawable(
|
||||
context.resources,
|
||||
R.drawable.ic_settings_suggest,
|
||||
context.theme
|
||||
)
|
||||
} else {
|
||||
B.img.setBackgroundColor(Color.parseColor(accent.accent))
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
|
||||
B.img.backgroundTintList = ColorStateList.valueOf(Color.parseColor(accent.accent))
|
||||
} else {
|
||||
B.img.setBackgroundColor(Color.parseColor(accent.accent))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ModelProp
|
||||
fun markChecked(isChecked: Boolean) {
|
||||
B.tick.isVisible = isChecked
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.aurora.store.util.Preferences.PREFERENCE_THEME_ACCENT
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE
|
||||
import com.aurora.extensions.applyTheme
|
||||
import com.aurora.extensions.hide
|
||||
import com.aurora.extensions.isSAndAbove
|
||||
import com.aurora.extensions.isVisible
|
||||
import com.aurora.extensions.show
|
||||
import com.aurora.store.util.save
|
||||
@@ -54,7 +55,7 @@ class AccentFragment : BaseFragment() {
|
||||
private lateinit var B: FragmentOnboardingAccentBinding
|
||||
|
||||
private var themeId: Int = 0
|
||||
private var accentId: Int = 1
|
||||
private var accentId: Int = if (isSAndAbove()) 0 else 1
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
@@ -102,6 +103,10 @@ class AccentFragment : BaseFragment() {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
accentList.forEach {
|
||||
if (it.id == 0) {
|
||||
if (!isSAndAbove()) return@forEach
|
||||
}
|
||||
|
||||
add(
|
||||
AccentViewModel_()
|
||||
.id(it.id)
|
||||
|
||||
@@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentActivity
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.isSAndAbove
|
||||
import com.aurora.extensions.open
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ActivityOnboardingBinding
|
||||
@@ -177,7 +178,7 @@ class OnboardingActivity : BaseActivity() {
|
||||
|
||||
/*Customization*/
|
||||
save(PREFERENCE_THEME_TYPE, 0)
|
||||
save(PREFERENCE_THEME_ACCENT, 1)
|
||||
save(PREFERENCE_THEME_ACCENT, if (isSAndAbove()) 0 else 1)
|
||||
save(PREFERENCE_DEFAULT_SELECTED_TAB, 0)
|
||||
save(PREFERENCE_QUICK_EXIT, false)
|
||||
save(PREFERENCE_FOR_YOU, true)
|
||||
|
||||
Reference in New Issue
Block a user