Add option for system accent

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-04-29 15:03:56 +05:30
parent ad1a893d8b
commit 4391e485c3
11 changed files with 59 additions and 8 deletions

View File

@@ -1,4 +1,8 @@
[
{
"id": "0",
"accent": ""
},
{
"id": "1",
"accent": "#6C63FF"
@@ -51,4 +55,4 @@
"id": "13",
"accent": "#0078D7"
}
]
]

View File

@@ -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
}
}
}
}

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?attr/colorAccent">
<path
android:fillColor="@android:color/white"
android:pathData="M753,356L709,262L615,218L709,174L753,80L797,174L891,218L797,262L753,356ZM837,645L807.24,581.76L744,552L807.24,522.24L837,459L866.76,522.24L930,552L866.76,581.76L837,645ZM314,880L304,788Q290,786 275,779Q260,772 249,762L171,795L83,651L159,601Q154,584 154,571Q154,558 159,541L83,491L171,347L249,380Q260,370 275,363Q290,356 304,354L314.08,262L482,262L492,354Q506,356 521,363Q536,370 547,380L625,347L713,491L637,541Q642,558 642,571Q642,584 637,601L713,651L625,795L547,762Q536,772 521,779Q506,786 492,788L481.92,880L314,880ZM398,686Q448,686 480.5,653.5Q513,621 513,571Q513,521 480.5,488.5Q448,456 398,456Q348,456 315.5,488.5Q283,521 283,571Q283,621 315.5,653.5Q348,686 398,686ZM398,626Q374,626 358.5,610.5Q343,595 343,571Q343,547 358.5,531.5Q374,516 398,516Q422,516 437.5,531.5Q453,547 453,571Q453,595 437.5,610.5Q422,626 398,626ZM364,820L432,820L440,744Q469,737 493,724Q517,711 536.77,690L602,719L635,667L573,623Q584,598 584,571Q584,544 573,519L635,475L602,423L536.77,452Q517,431 493,418Q469,405 440,398L432,322L364,322L356,398Q327,405 303,418Q279,431 259.23,452L194,423L161,475L223,519Q212,544 212,571Q212,598 223,623L161,667L194,719L259.23,690Q279,711 303,724Q327,737 356,744L364,820ZM398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571L398,571Q398,571 398,571Q398,571 398,571L398,571L398,571Z"/>
</vector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--Common Colors-->
<color name="colorAccent">@android:color/system_accent1_200</color>
</resources>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--Common Colors-->
<color name="colorAccent">@android:color/system_accent1_500</color>
</resources>

View File

@@ -76,6 +76,7 @@
</string-array>
<string-array name="pref_accent">
<item>@string/ui_accent_0</item>
<item>@string/ui_accent_1</item>
<item>@string/ui_accent_2</item>
<item>@string/ui_accent_3</item>
@@ -92,6 +93,7 @@
</string-array>
<string-array name="pref_accent_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>

View File

@@ -385,6 +385,7 @@
<string name="notification_channel_updater_service">App background download service</string>
<string name="app_updater_service_notif_title">Background app download</string>
<string name="app_updater_service_notif_text">Enables background app download</string>
<string name="ui_accent_0">System</string>
<string name="ui_accent_1">Blue</string>
<string name="ui_accent_2">Fuchsia</string>
<string name="ui_accent_3">Red</string>

View File

@@ -19,6 +19,11 @@
<resources>
<style name="Accent00">
<item name="colorAccent">@color/colorAccent</item>
<item name="colorPrimary">@color/colorAccent</item>
</style>
<style name="Accent01">
<item name="colorAccent">@color/colorAccent01</item>
<item name="colorPrimary">@color/colorAccent01</item>