Add option for system accent
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
[
|
||||
{
|
||||
"id": "0",
|
||||
"accent": ""
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"accent": "#6C63FF"
|
||||
@@ -51,4 +55,4 @@
|
||||
"id": "13",
|
||||
"accent": "#0078D7"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -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)
|
||||
|
||||
11
app/src/main/res/drawable/ic_settings_suggest.xml
Normal file
11
app/src/main/res/drawable/ic_settings_suggest.xml
Normal 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>
|
||||
5
app/src/main/res/values-night-v31/colors.xml
Normal file
5
app/src/main/res/values-night-v31/colors.xml
Normal 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>
|
||||
5
app/src/main/res/values-v31/colors.xml
Normal file
5
app/src/main/res/values-v31/colors.xml
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user