Add static theme option and theming setup page for Android (#87)

Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
This commit is contained in:
kleidis 2024-08-17 11:56:24 +02:00 committed by GitHub
parent a8af63298e
commit 0cdab21c4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 886 additions and 80 deletions

View File

@ -221,6 +221,7 @@ class Settings {
const val PREF_THEME_MODE = "ThemeMode"
const val PREF_BLACK_BACKGROUNDS = "BlackBackgrounds"
const val PREF_SHOW_HOME_APPS = "ShowHomeApps"
const val PREF_STATIC_THEME_COLOR = "StaticThemeColor"
private val configFileSectionsMap: MutableMap<String, List<String>> = HashMap()

View File

@ -1489,6 +1489,33 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
R.string.use_black_backgrounds_description
)
)
val staticThemeColor: AbstractIntSetting = object : AbstractIntSetting {
override var int: Int
get() = preferences.getInt(Settings.PREF_STATIC_THEME_COLOR, 0)
set(value) {
preferences.edit()
.putInt(Settings.PREF_STATIC_THEME_COLOR, value)
.apply()
settingsActivity.recreate()
}
override val key: String? = null
override val section: String? = null
override val isRuntimeEditable: Boolean = false
override val valueAsString: String
get() = preferences.getInt(Settings.PREF_STATIC_THEME_COLOR, 0).toString()
override val defaultValue: Any = 0
}
add(
SingleChoiceSetting(
staticThemeColor,
R.string.static_theme_color,
R.string.static_theme_color_description,
R.array.staticThemeNames,
R.array.staticThemeValues
)
)
}
}
}

View File

@ -14,6 +14,8 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
@ -28,6 +30,7 @@ import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.preference.PreferenceManager
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.transition.MaterialFadeThrough
import io.github.mandarine3ds.mandarine.MandarineApplication
@ -45,6 +48,8 @@ import io.github.mandarine3ds.mandarine.utils.PermissionsHandler
import io.github.mandarine3ds.mandarine.utils.ViewUtils
import io.github.mandarine3ds.mandarine.viewmodel.GamesViewModel
import io.github.mandarine3ds.mandarine.viewmodel.HomeViewModel
import io.github.mandarine3ds.mandarine.utils.ThemeUtil
import com.google.android.material.materialswitch.MaterialSwitch
class SetupFragment : Fragment() {
private var _binding: FragmentSetupBinding? = null
@ -258,6 +263,30 @@ class SetupFragment : Fragment() {
R.string.add_games_warning_help
)
)
add(
SetupPage(
R.drawable.ic_palette,
R.string.set_up_theme_settings,
R.string.setup_theme_settings_description,
0,
true,
R.string.setup_set_theme,
{
ThemeUtil.isDuringSetup = true
showStaticThemeSelectionDialog()
},
false,
false,
{
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
if (preferences.getBoolean("ThemeSetupCompleted", false)) {
StepState.STEP_COMPLETE
} else {
StepState.STEP_INCOMPLETE
}
}
)
)
add(
SetupPage(
R.drawable.ic_check,
@ -370,6 +399,71 @@ class SetupFragment : Fragment() {
private lateinit var microphoneCallback: SetupCallback
private lateinit var cameraCallback: SetupCallback
private fun showStaticThemeSelectionDialog() {
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
val themeColors = resources.getStringArray(R.array.staticThemeNames)
val currentThemeColor = preferences.getInt(Settings.PREF_STATIC_THEME_COLOR, 0)
MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.set_up_theme_settings)
.setSingleChoiceItems(themeColors, currentThemeColor) { _, which ->
preferences.edit().putInt(Settings.PREF_STATIC_THEME_COLOR, which).apply()
}
.setPositiveButton(android.R.string.ok) { _, _ ->
showMaterialYouAndBlackThemeDialog()
}
.setNegativeButton(android.R.string.cancel, null)
.show()
}
private fun showMaterialYouAndBlackThemeDialog() {
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
val switchContainer = LinearLayout(requireContext()).apply {
orientation = LinearLayout.VERTICAL
setPadding(64, 16, 64, 32)
}
val blackThemeSwitch = MaterialSwitch(requireContext()).apply {
text = getString(R.string.use_black_backgrounds)
isChecked = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false)
}
val blackThemeDescription = TextView(requireContext()).apply {
text = getString(R.string.use_black_backgrounds_description)
}
switchContainer.addView(blackThemeSwitch)
switchContainer.addView(blackThemeDescription)
val materialYouSwitch = MaterialSwitch(requireContext()).apply {
text = getString(R.string.material_you)
isChecked = preferences.getBoolean(Settings.PREF_MATERIAL_YOU, false)
}
val materialYouDescription = TextView(requireContext()).apply {
text = getString(R.string.material_you_description)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
switchContainer.addView(materialYouSwitch)
switchContainer.addView(materialYouDescription)
}
MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.set_up_theme_settings)
.setView(switchContainer)
.setPositiveButton(android.R.string.ok) { _, _ ->
preferences.edit().apply {
putBoolean(Settings.PREF_BLACK_BACKGROUNDS, blackThemeSwitch.isChecked)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
putBoolean(Settings.PREF_MATERIAL_YOU, materialYouSwitch.isChecked)
}
apply()
}
preferences.edit().putBoolean("ThemeSetupCompleted", true).apply()
requireActivity().recreate()
}
.setNegativeButton(android.R.string.cancel, null)
.show()
}
private val permissionLauncher =
registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
if (isGranted) {
@ -434,6 +528,7 @@ class SetupFragment : Fragment() {
preferences.edit()
.putBoolean(Settings.PREF_FIRST_APP_LAUNCH, false)
.apply()
ThemeUtil.isDuringSetup = false
mainActivity.finishSetup(binding.root.findNavController())
}

View File

@ -75,6 +75,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
settingsViewModel.settings.loadSettings()
}
ThemeUtil.themeChangeListener(this)
ThemeUtil.setTheme(this)
super.onCreate(savedInstanceState)

View File

@ -12,6 +12,9 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.preference.PreferenceManager
import io.github.mandarine3ds.mandarine.MandarineApplication
import io.github.mandarine3ds.mandarine.R
@ -25,12 +28,28 @@ object ThemeUtil {
private val preferences: SharedPreferences get() =
PreferenceManager.getDefaultSharedPreferences(MandarineApplication.appContext)
private fun getSelectedStaticThemeColor(): Int {
val themeIndex = preferences.getInt(Settings.PREF_STATIC_THEME_COLOR, 0)
val themes = arrayOf(
R.style.Theme_Mandarine_Orange,
R.style.Theme_Mandarine_Cyan,
R.style.Theme_Mandarine_Red,
R.style.Theme_Mandarine_Green,
R.style.Theme_Mandarine_Yellow,
R.style.Theme_Mandarine_Blue,
R.style.Theme_Mandarine_Violet,
R.style.Theme_Mandarine_Pink,
R.style.Theme_Mandarine_Gray
)
return themes[themeIndex]
}
fun setTheme(activity: AppCompatActivity) {
setThemeMode(activity)
if (preferences.getBoolean(Settings.PREF_MATERIAL_YOU, false)) {
activity.setTheme(R.style.Theme_Mandarine_Main_MaterialYou)
} else {
activity.setTheme(R.style.Theme_Mandarine_Main)
activity.setTheme(getSelectedStaticThemeColor())
}
// Using a specific night mode check because this could apply incorrectly when using the
@ -96,4 +115,22 @@ object ThemeUtil {
Color.blue(color)
)
}
var isDuringSetup = false //Track setup status in order to enable / disbale listener
// Listener that detects if the theme is being changed from the initial setup or from normal settings
// Without this the dual popup on the setup was getting cut off becuase the activity was being recreated
private var listener: SharedPreferences.OnSharedPreferenceChangeListener? = null
fun themeChangeListener(activity: AppCompatActivity) {
listener = SharedPreferences.OnSharedPreferenceChangeListener { _, key ->
val relevantKeys = listOf(Settings.PREF_STATIC_THEME_COLOR, Settings.PREF_MATERIAL_YOU, Settings.PREF_BLACK_BACKGROUNDS)
if (key in relevantKeys && !isDuringSetup) {
activity.recreate()
}
}
preferences.registerOnSharedPreferenceChangeListener(listener)
}
}

View File

@ -1,35 +1,237 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="mandarine_primary">#B7C4FF</color>
<color name="mandarine_onPrimary">#002681</color>
<color name="mandarine_primaryContainer">#0039B5</color>
<color name="mandarine_onPrimaryContainer">#DCE1FF</color>
<color name="mandarine_secondary">#C2C5DD</color>
<color name="mandarine_onSecondary">#2B3042</color>
<color name="mandarine_secondaryContainer">#424659</color>
<color name="mandarine_onSecondaryContainer">#DEE1F9</color>
<color name="mandarine_tertiary">#E4BADA</color>
<color name="mandarine_onTertiary">#43273F</color>
<color name="mandarine_tertiaryContainer">#5C3D56</color>
<color name="mandarine_onTertiaryContainer">#FFD7F5</color>
<!-- Blue Theme Colors -->
<color name="mandarine_primary_blue">#B7C4FF</color>
<color name="mandarine_onPrimary_blue">#002681</color>
<color name="mandarine_primaryContainer_blue">#0039B5</color>
<color name="mandarine_onPrimaryContainer_blue">#DCE1FF</color>
<color name="mandarine_secondary_blue">#C2C5DD</color>
<color name="mandarine_onSecondary_blue">#2B3042</color>
<color name="mandarine_secondaryContainer_blue">#424659</color>
<color name="mandarine_onSecondaryContainer_blue">#DEE1F9</color>
<color name="mandarine_tertiary_blue">#E4BADA</color>
<color name="mandarine_onTertiary_blue">#43273F</color>
<color name="mandarine_tertiaryContainer_blue">#5C3D56</color>
<color name="mandarine_onTertiaryContainer_blue">#FFD7F5</color>
<color name="mandarine_background_blue">#1B1B1F</color>
<color name="mandarine_onBackground_blue">#E4E1E6</color>
<color name="mandarine_surface_blue">#1B1B1F</color>
<color name="mandarine_onSurface_blue">#E4E1E6</color>
<color name="mandarine_surfaceVariant_blue">#45464F</color>
<color name="mandarine_onSurfaceVariant_blue">#C6C5D0</color>
<color name="mandarine_outline_blue">#90909A</color>
<color name="mandarine_inverseOnSurface_blue">#1B1B1F</color>
<color name="mandarine_inverseSurface_blue">#E4E1E6</color>
<color name="mandarine_inversePrimary_blue">#154FE2</color>
<color name="mandarine_surfaceTint_blue">#B7C4FF</color>
<!-- Cyan Theme Colors -->
<color name="mandarine_primary_cyan">#B7FFF7</color>
<color name="mandarine_onPrimary_cyan">#007D81</color>
<color name="mandarine_primaryContainer_cyan">#00A0B5</color>
<color name="mandarine_onPrimaryContainer_cyan">#DCFFFB</color>
<color name="mandarine_secondary_cyan">#C2DDDB</color>
<color name="mandarine_onSecondary_cyan">#2B3F42</color>
<color name="mandarine_secondaryContainer_cyan">#425659</color>
<color name="mandarine_onSecondaryContainer_cyan">#DEF9F7</color>
<color name="mandarine_tertiary_cyan">#BAE1E4</color>
<color name="mandarine_onTertiary_cyan">#274341</color>
<color name="mandarine_tertiaryContainer_cyan">#3D5C5C</color>
<color name="mandarine_onTertiaryContainer_cyan">#D7FFFE</color>
<color name="mandarine_background_cyan">#1B1F1E</color>
<color name="mandarine_onBackground_cyan">#E1E6E5</color>
<color name="mandarine_surface_cyan">#1B1F1F</color>
<color name="mandarine_onSurface_cyan">#E1E6E5</color>
<color name="mandarine_surfaceVariant_cyan">#454F4D</color>
<color name="mandarine_onSurfaceVariant_cyan">#C5D0CF</color>
<color name="mandarine_outline_cyan">#909A98</color>
<color name="mandarine_inverseOnSurface_cyan">#1B1F1F</color>
<color name="mandarine_inverseSurface_cyan">#E1E6E5</color>
<color name="mandarine_inversePrimary_cyan">#15E2D1</color>
<color name="mandarine_surfaceTint_cyan">#B7C4FF</color>
<!-- Red Theme Colors -->
<color name="mandarine_primary_red">#FFB7B7</color>
<color name="mandarine_onPrimary_red">#810000</color>
<color name="mandarine_primaryContainer_red">#B50000</color>
<color name="mandarine_onPrimaryContainer_red">#FFDCDC</color>
<color name="mandarine_secondary_red">#DDC2C2</color>
<color name="mandarine_onSecondary_red">#422B2B</color>
<color name="mandarine_secondaryContainer_red">#594242</color>
<color name="mandarine_onSecondaryContainer_red">#F9DEDE</color>
<color name="mandarine_tertiary_red">#E4BABA</color>
<color name="mandarine_onTertiary_red">#432727</color>
<color name="mandarine_tertiaryContainer_red">#5C3D3D</color>
<color name="mandarine_onTertiaryContainer_red">#FFD7D7</color>
<color name="mandarine_background_red">#1F1B1B</color>
<color name="mandarine_onBackground_red">#E6E1E1</color>
<color name="mandarine_surface_red">#1F1B1B</color>
<color name="mandarine_onSurface_red">#E6E1E1</color>
<color name="mandarine_surfaceVariant_red">#4F4545</color>
<color name="mandarine_onSurfaceVariant_red">#D0C5C5</color>
<color name="mandarine_outline_red">#9A9090</color>
<color name="mandarine_inverseOnSurface_red">#1F1B1B</color>
<color name="mandarine_inverseSurface_red">#E6E1E1</color>
<color name="mandarine_inversePrimary_red">#E21515</color>
<color name="mandarine_surfaceTint_red">#FFB7B7</color>
<!-- Green Theme Colors -->
<color name="mandarine_primary_green">#B7FFBE</color>
<color name="mandarine_onPrimary_green">#00811C</color>
<color name="mandarine_primaryContainer_green">#06B500</color>
<color name="mandarine_onPrimaryContainer_green">#DCFFE0</color>
<color name="mandarine_secondary_green">#C2DDC8</color>
<color name="mandarine_onSecondary_green">#2B422E</color>
<color name="mandarine_secondaryContainer_green">#425946</color>
<color name="mandarine_onSecondaryContainer_green">#DEF9E5</color>
<color name="mandarine_tertiary_green">#BAE4BC</color>
<color name="mandarine_onTertiary_green">#284327</color>
<color name="mandarine_tertiaryContainer_green">#3D5C47</color>
<color name="mandarine_background_green">#1B1F1B</color>
<color name="mandarine_onBackground_green">#E1E6E1</color>
<color name="mandarine_surface_green">#1B1F1B</color>
<color name="mandarine_onSurface_green">#E1E6E1</color>
<color name="mandarine_surfaceVariant_green">#454F45</color>
<color name="mandarine_onSurfaceVariant_green">#C6D0C5</color>
<color name="mandarine_outline_green">#909A90</color>
<color name="mandarine_inverseOnSurface_green">#1B1F1B</color>
<color name="mandarine_inverseSurface_green">#E1E6E2</color>
<color name="mandarine_inversePrimary_green">#15E218</color>
<color name="mandarine_surfaceTint_green">#B7FFC7</color>
<!-- Yellow Theme Colors -->
<color name="mandarine_primary_yellow">#FFEDB7</color>
<color name="mandarine_onPrimary_yellow">#817F00</color>
<color name="mandarine_primaryContainer_yellow">#B5A300</color>
<color name="mandarine_onPrimaryContainer_yellow">#FFFDDC</color>
<color name="mandarine_secondary_yellow">#DDDDC2</color>
<color name="mandarine_onSecondary_yellow">#42422B</color>
<color name="mandarine_secondaryContainer_yellow">#595942</color>
<color name="mandarine_onSecondaryContainer_yellow">#F7F9DE</color>
<color name="mandarine_tertiary_yellow">#E0E4BA</color>
<color name="mandarine_onTertiary_yellow">#424327</color>
<color name="mandarine_tertiaryContainer_yellow">#5C583D</color>
<color name="mandarine_onTertiaryContainer_yellow">#FFFBD7</color>
<color name="mandarine_background_yellow">#1F1F1B</color>
<color name="mandarine_onBackground_yellow">#E6E6E1</color>
<color name="mandarine_surface_yellow">#1F1F1B</color>
<color name="mandarine_onSurface_yellow">#E6E5E1</color>
<color name="mandarine_surfaceVariant_yellow">#4F4E45</color>
<color name="mandarine_onSurfaceVariant_yellow">#D0D0C5</color>
<color name="mandarine_outline_yellow">#9A9990</color>
<color name="mandarine_inverseOnSurface_yellow">#1B1B1F</color>
<color name="mandarine_inverseSurface_yellow">#E6E6E1</color>
<color name="mandarine_inversePrimary_yellow">#DBE215</color>
<color name="mandarine_surfaceTint_yellow">#FFFBB7</color>
<!-- Orange Theme Colors -->
<color name="mandarine_primary_orange">#FFCBB7</color>
<color name="mandarine_onPrimary_orange">#812500</color>
<color name="mandarine_primaryContainer_orange">#B55400</color>
<color name="mandarine_onPrimaryContainer_orange">#FFEBDC</color>
<color name="mandarine_secondary_orange">#DDCDC2</color>
<color name="mandarine_onSecondary_orange">#42342B</color>
<color name="mandarine_secondaryContainer_orange">#594A42</color>
<color name="mandarine_onSecondaryContainer_orange">#F9E6DE</color>
<color name="mandarine_tertiary_orange">#E4CCBA</color>
<color name="mandarine_onTertiary_orange">#433127</color>
<color name="mandarine_tertiaryContainer_orange">#5C463D</color>
<color name="mandarine_onTertiaryContainer_orange">#FFEFD7</color>
<color name="mandarine_background_orange">#1F1D1B</color>
<color name="mandarine_onBackground_orange">#E6E3E1</color>
<color name="mandarine_surface_orange">#1F1D1B</color>
<color name="mandarine_onSurface_orange">#E6E3E1</color>
<color name="mandarine_surfaceVariant_orange">#4F4A45</color>
<color name="mandarine_onSurfaceVariant_orange">#D0CAC5</color>
<color name="mandarine_outline_orange">#9A9490</color>
<color name="mandarine_inverseOnSurface_orange">#1F1D1B</color>
<color name="mandarine_inverseSurface_orange">#E6E3E1</color>
<color name="mandarine_inversePrimary_orange">#E26E15</color>
<color name="mandarine_surfaceTint_orange">#FFD4B7</color>
<!-- Violet Theme Colors -->
<color name="mandarine_primary_violet">#DAB7FF</color>
<color name="mandarine_onPrimary_violet">#350068</color>
<color name="mandarine_primaryContainer_violet">#5A00B5</color>
<color name="mandarine_onPrimaryContainer_violet">#F4DCFF</color>
<color name="mandarine_secondary_violet">#D2C2DD</color>
<color name="mandarine_onSecondary_violet">#342B42</color>
<color name="mandarine_secondaryContainer_violet">#594265</color>
<color name="mandarine_onSecondaryContainer_violet">#E9DEF9</color>
<color name="mandarine_tertiary_violet">#DACCE4</color>
<color name="mandarine_onTertiary_violet">#402743</color>
<color name="mandarine_tertiaryContainer_violet">#5C4E5C</color>
<color name="mandarine_onTertiaryContainer_violet">#FFD7FF</color>
<color name="mandarine_background_violet">#1F1B1F</color>
<color name="mandarine_onBackground_violet">#E6E4E6</color>
<color name="mandarine_surface_violet">#1F1B1F</color>
<color name="mandarine_onSurface_violet">#E6E4E6</color>
<color name="mandarine_surfaceVariant_violet">#4F454F</color>
<color name="mandarine_onSurfaceVariant_violet">#D0C6D0</color>
<color name="mandarine_outline_violet">#9A909A</color>
<color name="mandarine_inverseOnSurface_violet">#1F1B1F</color>
<color name="mandarine_inverseSurface_violet">#E6E4E6</color>
<color name="mandarine_inversePrimary_violet">#B154E2</color>
<color name="mandarine_surfaceTint_violet">#DAB7FF</color>
<!-- Pink Theme Colors -->
<color name="mandarine_primary_pink">#FFB7C5</color>
<color name="mandarine_onPrimary_pink">#81001E</color>
<color name="mandarine_primaryContainer_pink">#B50033</color>
<color name="mandarine_onPrimaryContainer_pink">#FFDCE6</color>
<color name="mandarine_secondary_pink">#DDC2C7</color>
<color name="mandarine_onSecondary_pink">#422B34</color>
<color name="mandarine_secondaryContainer_pink">#594249</color>
<color name="mandarine_onSecondaryContainer_pink">#FCF9DEE6</color>
<color name="mandarine_tertiary_pink">#E4BAC4</color>
<color name="mandarine_onTertiary_pink">#432730</color>
<color name="mandarine_tertiaryContainer_pink">#5C3D49</color>
<color name="mandarine_onTertiaryContainer_pink">#FFD7DF</color>
<color name="mandarine_background_pink">#1F1B1C</color>
<color name="mandarine_onBackground_pink">#E6E1E2</color>
<color name="mandarine_surface_pink">#1F1B1C</color>
<color name="mandarine_onSurface_pink">#E6E1E2</color>
<color name="mandarine_surfaceVariant_pink">#4F4547</color>
<color name="mandarine_onSurfaceVariant_pink">#D0C5C8</color>
<color name="mandarine_outline_pink">#9A9093</color>
<color name="mandarine_inverseOnSurface_pink">#1F1B1C</color>
<color name="mandarine_inverseSurface_pink">#E6E1E2</color>
<color name="mandarine_inversePrimary_pink">#E21556</color>
<color name="mandarine_surfaceTint_pink">#FFB7D6</color>
<!-- Gray Theme Colors -->
<color name="mandarine_primary_gray">#B7B7B7</color>
<color name="mandarine_onPrimary_gray">#2B2B2B</color>
<color name="mandarine_primaryContainer_gray">#424242</color>
<color name="mandarine_onPrimaryContainer_gray">#E1E1E1</color>
<color name="mandarine_secondary_gray">#C2C2C2</color>
<color name="mandarine_onSecondary_gray">#424242</color>
<color name="mandarine_secondaryContainer_gray">#656565</color>
<color name="mandarine_onSecondaryContainer_gray">#EDEDED</color>
<color name="mandarine_tertiary_gray">#DADADA</color>
<color name="mandarine_onTertiary_gray">#3F3F3F</color>
<color name="mandarine_tertiaryContainer_gray">#565656</color>
<color name="mandarine_onTertiaryContainer_gray">#F5F5F5</color>
<color name="mandarine_background_gray">#1B1B1B</color>
<color name="mandarine_onBackground_gray">#E4E4E4</color>
<color name="mandarine_surface_gray">#1B1B1B</color>
<color name="mandarine_onSurface_gray">#E4E4E4</color>
<color name="mandarine_surfaceVariant_gray">#454545</color>
<color name="mandarine_onSurfaceVariant_gray">#C6C6C6</color>
<color name="mandarine_outline_gray">#909090</color>
<color name="mandarine_inverseOnSurface_gray">#1B1B1B</color>
<color name="mandarine_inverseSurface_gray">#E4E4E4</color>
<color name="mandarine_inversePrimary_gray">#B7B7B7</color>
<color name="mandarine_surfaceTint_gray">#B7B7B7</color>
<!-- Common Colors Across All Themes -->
<color name="mandarine_outlineVariant">#C6C5D0</color>
<color name="mandarine_error">#FFB4AB</color>
<color name="mandarine_errorContainer">#93000A</color>
<color name="mandarine_onError">#690005</color>
<color name="mandarine_onErrorContainer">#FFDAD6</color>
<color name="mandarine_background">#1B1B1F</color>
<color name="mandarine_onBackground">#E4E1E6</color>
<color name="mandarine_surface">#1B1B1F</color>
<color name="mandarine_onSurface">#E4E1E6</color>
<color name="mandarine_surfaceVariant">#45464F</color>
<color name="mandarine_onSurfaceVariant">#C6C5D0</color>
<color name="mandarine_outline">#90909A</color>
<color name="mandarine_inverseOnSurface">#1B1B1F</color>
<color name="mandarine_inverseSurface">#E4E1E6</color>
<color name="mandarine_inversePrimary">#154FE2</color>
<color name="mandarine_shadow">#000000</color>
<color name="mandarine_surfaceTint">#B7C4FF</color>
<color name="mandarine_outlineVariant">#45464F</color>
<color name="mandarine_scrim">#000000</color>
</resources>

View File

@ -228,6 +228,29 @@
<item>3</item>
</integer-array>
<string-array name="staticThemeNames">
<item>Orange (Default)</item>
<item>Cyan</item>
<item>Red</item>
<item>Green</item>
<item>Yellow</item>
<item>Blue</item>
<item>Violet</item>
<item>Pink</item>
<item>Gray</item>
</string-array>
<integer-array name="staticThemeValues">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
</integer-array>
<string-array name="themeModeEntries">
<item>@string/theme_mode_follow_system</item>
<item>@string/theme_mode_light</item>

View File

@ -1,35 +1,240 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="mandarine_primary">#154FE2</color>
<color name="mandarine_onPrimary">#FFFFFF</color>
<color name="mandarine_primaryContainer">#DCE1FF</color>
<color name="mandarine_onPrimaryContainer">#001551</color>
<color name="mandarine_secondary">#595D72</color>
<color name="mandarine_onSecondary">#FFFFFF</color>
<color name="mandarine_secondaryContainer">#DEE1F9</color>
<color name="mandarine_onSecondaryContainer">#161B2C</color>
<color name="mandarine_tertiary">#75546F</color>
<color name="mandarine_onTertiary">#FFFFFF</color>
<color name="mandarine_tertiaryContainer">#FFD7F5</color>
<color name="mandarine_onTertiaryContainer">#2C1229</color>
<!-- Blue Theme Colors -->
<color name="mandarine_primary_blue">#154FE2</color>
<color name="mandarine_primaryContainer_blue">#DCE1FF</color>
<color name="mandarine_onPrimaryContainer_blue">#001551</color>
<color name="mandarine_secondary_blue">#595D72</color>
<color name="mandarine_secondaryContainer_blue">#DEE1F9</color>
<color name="mandarine_onSecondaryContainer_blue">#161B2C</color>
<color name="mandarine_tertiary_blue">#75546F</color>
<color name="mandarine_tertiaryContainer_blue">#FFD7F5</color>
<color name="mandarine_onTertiaryContainer_blue">#2C1229</color>
<color name="mandarine_background_blue">#FEFBFF</color>
<color name="mandarine_onBackground_blue">#1B1B1F</color>
<color name="mandarine_surface_blue">#FEFBFF</color>
<color name="mandarine_onSurface_blue">#1B1B1F</color>
<color name="mandarine_surfaceVariant_blue">#E2E1EC</color>
<color name="mandarine_onSurfaceVariant_blue">#45464F</color>
<color name="mandarine_outline_blue">#767680</color>
<color name="mandarine_inverseOnSurface_blue">#F2F0F4</color>
<color name="mandarine_inverseSurface_blue">#303034</color>
<color name="mandarine_inversePrimary_blue">#B7C4FF</color>
<color name="mandarine_surfaceTint_blue">#154FE2</color>
<!-- Red Theme Colors -->
<color name="mandarine_primary_red">#E21515</color>
<color name="mandarine_primaryContainer_red">#FFDCDC</color>
<color name="mandarine_onPrimaryContainer_red">#510000</color>
<color name="mandarine_secondary_red">#725959</color>
<color name="mandarine_secondaryContainer_red">#F9DEDE</color>
<color name="mandarine_onSecondaryContainer_red">#2C1616</color>
<color name="mandarine_tertiary_red">#755454</color>
<color name="mandarine_tertiaryContainer_red">#FFD7D7</color>
<color name="mandarine_onTertiaryContainer_red">#2C1212</color>
<color name="mandarine_background_red">#FFFBFB</color>
<color name="mandarine_onBackground_red">#1F1B1B</color>
<color name="mandarine_surface_red">#FFFBFB</color>
<color name="mandarine_onSurface_red">#1F1B1B</color>
<color name="mandarine_surfaceVariant_red">#ECE1E1</color>
<color name="mandarine_onSurfaceVariant_red">#4F4545</color>
<color name="mandarine_outline_red">#807676</color>
<color name="mandarine_inverseOnSurface_red">#F4F0F0</color>
<color name="mandarine_inverseSurface_red">#343030</color>
<color name="mandarine_inversePrimary_red">#FFB7B7</color>
<color name="mandarine_surfaceTint_red">#E21515</color>
<!-- Green Theme Colors -->
<color name="mandarine_primary_green">#1FAA59</color>
<color name="mandarine_primaryContainer_green">#C6F6D5</color>
<color name="mandarine_onPrimaryContainer_green">#012D12</color>
<color name="mandarine_secondary_green">#4D8066</color>
<color name="mandarine_secondaryContainer_green">#D4EDE1</color>
<color name="mandarine_onSecondaryContainer_green">#1A3328</color>
<color name="mandarine_tertiary_green">#3D7267</color>
<color name="mandarine_tertiaryContainer_green">#BCECE0</color>
<color name="mandarine_onTertiaryContainer_green">#1C4039</color>
<color name="mandarine_background_green">#FBFFFC</color>
<color name="mandarine_onBackground_green">#1B1F1B</color>
<color name="mandarine_surface_green">#FBFFFC</color>
<color name="mandarine_onSurface_green">#1B1F1B</color>
<color name="mandarine_surfaceVariant_green">#E1ECE1</color>
<color name="mandarine_onSurfaceVariant_green">#454F46</color>
<color name="mandarine_outline_green">#768077</color>
<color name="mandarine_inverseOnSurface_green">#F0F4F0</color>
<color name="mandarine_inverseSurface_green">#303430</color>
<color name="mandarine_inversePrimary_green">#B7FFB8</color>
<color name="mandarine_surfaceTint_green">#1FAA59</color>
<!-- Cyan Theme Colors -->
<color name="mandarine_primary_cyan">#15E2D1</color>
<color name="mandarine_primaryContainer_cyan">#DCFFFE</color>
<color name="mandarine_onPrimaryContainer_cyan">#005148</color>
<color name="mandarine_secondary_cyan">#595D72</color>
<color name="mandarine_secondaryContainer_cyan">#DEF8F9</color>
<color name="mandarine_onSecondaryContainer_cyan">#162C2C</color>
<color name="mandarine_tertiary_cyan">#75546F</color>
<color name="mandarine_tertiaryContainer_cyan">#D7FCFF</color>
<color name="mandarine_onTertiaryContainer_cyan">#122C2C</color>
<color name="mandarine_background_cyan">#FBFFFF</color>
<color name="mandarine_onBackground_cyan">#1B1F1F</color>
<color name="mandarine_surface_cyan">#FBFFFF</color>
<color name="mandarine_onSurface_cyan">#1B1F1F</color>
<color name="mandarine_surfaceVariant_cyan">#E1ECEB</color>
<color name="mandarine_onSurfaceVariant_cyan">#454F4F</color>
<color name="mandarine_outline_cyan">#76807F</color>
<color name="mandarine_inverseOnSurface_cyan">#F0F4F4</color>
<color name="mandarine_inverseSurface_cyan">#303434</color>
<color name="mandarine_inversePrimary_cyan">#B7FFF7</color>
<color name="mandarine_surfaceTint_cyan">#15E2C3</color>
<!-- Yellow Theme Colors -->
<color name="mandarine_primary_yellow">#CDE2C015</color>
<color name="mandarine_primaryContainer_yellow">#FEFFDC</color>
<color name="mandarine_onPrimaryContainer_yellow">#4C5100</color>
<color name="mandarine_secondary_yellow">#717259</color>
<color name="mandarine_secondaryContainer_yellow">#F8F9DE</color>
<color name="mandarine_onSecondaryContainer_yellow">#2C2C16</color>
<color name="mandarine_tertiary_yellow">#757254</color>
<color name="mandarine_tertiaryContainer_yellow">#FFFDD7</color>
<color name="mandarine_onTertiaryContainer_yellow">#2C2B12</color>
<color name="mandarine_background_yellow">#FFFFFB</color>
<color name="mandarine_onBackground_yellow">#1F1F1B</color>
<color name="mandarine_surface_yellow">#FFFFFB</color>
<color name="mandarine_onSurface_yellow">#1F1F1B</color>
<color name="mandarine_surfaceVariant_yellow">#ECEBE1</color>
<color name="mandarine_onSurfaceVariant_yellow">#4E4F45</color>
<color name="mandarine_outline_yellow">#7F8076</color>
<color name="mandarine_inverseOnSurface_yellow">#F4F4F0</color>
<color name="mandarine_inverseSurface_yellow">#343430</color>
<color name="mandarine_inversePrimary_yellow">#FFFEB7</color>
<color name="mandarine_surfaceTint_yellow">#E2CE15</color>
<!-- Orange Theme Colors -->
<color name="mandarine_primary_orange">#E26E15</color>
<color name="mandarine_primaryContainer_orange">#FFECDC</color>
<color name="mandarine_onPrimaryContainer_orange">#512600</color>
<color name="mandarine_secondary_orange">#726759</color>
<color name="mandarine_secondaryContainer_orange">#F9EADE</color>
<color name="mandarine_onSecondaryContainer_orange">#2C1E16</color>
<color name="mandarine_tertiary_orange">#756354</color>
<color name="mandarine_tertiaryContainer_orange">#FFF0D7</color>
<color name="mandarine_onTertiaryContainer_orange">#2C2012</color>
<color name="mandarine_background_orange">#FFFDFB</color>
<color name="mandarine_onBackground_orange">#1F1D1B</color>
<color name="mandarine_surface_orange">#FFFDFB</color>
<color name="mandarine_onSurface_orange">#1F1D1B</color>
<color name="mandarine_surfaceVariant_orange">#ECE6E1</color>
<color name="mandarine_onSurfaceVariant_orange">#4F4A45</color>
<color name="mandarine_outline_orange">#807B76</color>
<color name="mandarine_inverseOnSurface_orange">#F4F2F0</color>
<color name="mandarine_inverseSurface_orange">#343230</color>
<color name="mandarine_inversePrimary_orange">#FFD9B7</color>
<color name="mandarine_surfaceTint_orange">#E27F15</color>
<!-- Violet Theme Colors -->
<color name="mandarine_primary_violet">#DB15E2</color>
<color name="mandarine_primaryContainer_violet">#FDDCFF</color>
<color name="mandarine_onPrimaryContainer_violet">#4E0051</color>
<color name="mandarine_secondary_violet">#6B5972</color>
<color name="mandarine_secondaryContainer_violet">#F6DEF9</color>
<color name="mandarine_onSecondaryContainer_violet">#26162C</color>
<color name="mandarine_tertiary_violet">#6E5475</color>
<color name="mandarine_tertiaryContainer_violet">#F6D7FF</color>
<color name="mandarine_onTertiaryContainer_violet">#29122C</color>
<color name="mandarine_background_violet">#FEFBFF</color>
<color name="mandarine_onBackground_violet">#1E1B1F</color>
<color name="mandarine_surface_violet">#FEFBFF</color>
<color name="mandarine_onSurface_violet">#1D1B1F</color>
<color name="mandarine_surfaceVariant_violet">#E7E1EC</color>
<color name="mandarine_onSurfaceVariant_violet">#4B454F</color>
<color name="mandarine_outline_violet">#7A7680</color>
<color name="mandarine_inverseOnSurface_violet">#F2F0F4</color>
<color name="mandarine_inverseSurface_violet">#323034</color>
<color name="mandarine_inversePrimary_violet">#E3B7FF</color>
<color name="mandarine_surfaceTint_violet">#8215E2</color>
<!-- Pink Theme Colors -->
<color name="mandarine_primary_pink">#E21556</color>
<color name="mandarine_primaryContainer_pink">#FF73A4</color>
<color name="mandarine_onPrimaryContainer_pink">#510023</color>
<color name="mandarine_secondary_pink">#725962</color>
<color name="mandarine_secondaryContainer_pink">#F9DEE9</color>
<color name="mandarine_onSecondaryContainer_pink">#2C1620</color>
<color name="mandarine_tertiary_pink">#755463</color>
<color name="mandarine_tertiaryContainer_pink">#FFD7E7</color>
<color name="mandarine_onTertiaryContainer_pink">#2C121A</color>
<color name="mandarine_background_pink">#FF9CB5</color>
<color name="mandarine_onBackground_pink">#1F1B1C</color>
<color name="mandarine_surface_pink">#FFFBFC</color>
<color name="mandarine_onSurface_pink">#1F1B1C</color>
<color name="mandarine_surfaceVariant_pink">#ECE1E4</color>
<color name="mandarine_onSurfaceVariant_pink">#4F4547</color>
<color name="mandarine_outline_pink">#807679</color>
<color name="mandarine_inverseOnSurface_pink">#F4F0F1</color>
<color name="mandarine_inverseSurface_pink">#343031</color>
<color name="mandarine_inversePrimary_pink">#FFB7D0</color>
<color name="mandarine_surfaceTint_pink">#E21545</color>
<!-- Gray Theme Colors -->
<color name="mandarine_primary_gray">#9E9E9E</color>
<color name="mandarine_primaryContainer_gray">#F5F5F5</color>
<color name="mandarine_onPrimaryContainer_gray">#1E1E1E</color>
<color name="mandarine_secondary_gray">#BDBDBD</color>
<color name="mandarine_secondaryContainer_gray">#E0E0E0</color>
<color name="mandarine_onSecondaryContainer_gray">#424242</color>
<color name="mandarine_tertiary_gray">#757575</color>
<color name="mandarine_tertiaryContainer_gray">#BDBDBD</color>
<color name="mandarine_onTertiaryContainer_gray">#1E1E1E</color>
<color name="mandarine_background_gray">#FAFAFA</color>
<color name="mandarine_onBackground_gray">#1E1E1E</color>
<color name="mandarine_surface_gray">#FAFAFA</color>
<color name="mandarine_onSurface_gray">#1E1E1E</color>
<color name="mandarine_surfaceVariant_gray">#E0E0E0</color>
<color name="mandarine_onSurfaceVariant_gray">#424242</color>
<color name="mandarine_outline_gray">#424242</color>
<color name="mandarine_inverseOnSurface_gray">#FAFAFA</color>
<color name="mandarine_inverseSurface_gray">#1E1E1E</color>
<color name="mandarine_inversePrimary_gray">#BDBDBD</color>
<color name="mandarine_surfaceTint_gray">#9E9E9E</color>
<!-- Common Colors Across All Themes -->
<color name="mandarine_outlineVariant">#C6C5D0</color>
<color name="mandarine_error">#BA1A1A</color>
<color name="mandarine_errorContainer">#FFDAD6</color>
<color name="mandarine_onError">#FFFFFF</color>
<color name="mandarine_onErrorContainer">#410002</color>
<color name="mandarine_background">#FEFBFF</color>
<color name="mandarine_onBackground">#1B1B1F</color>
<color name="mandarine_surface">#FEFBFF</color>
<color name="mandarine_onSurface">#1B1B1F</color>
<color name="mandarine_surfaceVariant">#E2E1EC</color>
<color name="mandarine_onSurfaceVariant">#45464F</color>
<color name="mandarine_outline">#767680</color>
<color name="mandarine_inverseOnSurface">#F2F0F4</color>
<color name="mandarine_inverseSurface">#303034</color>
<color name="mandarine_inversePrimary">#B7C4FF</color>
<color name="mandarine_shadow">#000000</color>
<color name="mandarine_surfaceTint">#154FE2</color>
<color name="mandarine_outlineVariant">#C6C5D0</color>
<color name="mandarine_scrim">#000000</color>
<!-- Values used in dark mode but here are just white / black values-->
<color name="mandarine_onPrimary_blue">#FFFFFF</color>
<color name="mandarine_onSecondary_blue">#FFFFFF</color>
<color name="mandarine_onTertiary_blue">#FFFFFF</color>
<color name="mandarine_onPrimary_red">#FFFFFF</color>
<color name="mandarine_onSecondary_red">#FFFFFF</color>
<color name="mandarine_onTertiary_red">#FFFFFF</color>
<color name="mandarine_onPrimary_green">#FFFFFF</color>
<color name="mandarine_onSecondary_green">#FFFFFF</color>
<color name="mandarine_onTertiary_green">#FFFFFF</color>
<color name="mandarine_onPrimary_cyan">#FFFFFF</color>
<color name="mandarine_onSecondary_cyan">#FFFFFF</color>
<color name="mandarine_onTertiary_cyan">#FFFFFF</color>
<color name="mandarine_onPrimary_yellow">#FFFFFF</color>
<color name="mandarine_onSecondary_yellow">#FFFFFF</color>
<color name="mandarine_onTertiary_yellow">#FFFFFF</color>
<color name="mandarine_onPrimary_orange">#FFFFFF</color>
<color name="mandarine_onSecondary_orange">#FFFFFF</color>
<color name="mandarine_onTertiary_orange">#FFFFFF</color>
<color name="mandarine_onPrimary_violet">#FFFFFF</color>
<color name="mandarine_onSecondary_violet">#FFFFFF</color>
<color name="mandarine_onTertiary_violet">#FFFFFF</color>
<color name="mandarine_onPrimary_pink">#FFFFFF</color>
<color name="mandarine_onSecondary_pink">#FFFFFF</color>
<color name="mandarine_onTertiary_pink">#FFFFFF</color>
<color name="mandarine_onPrimary_gray">#FFFFFF</color>
<color name="mandarine_onSecondary_gray">#FFFFFF</color>
<color name="mandarine_onTertiary_gray">#FFFFFF</color>
</resources>

View File

@ -93,6 +93,9 @@
<string name="cannot_skip">You can\'t skip this step</string>
<string name="cannot_skip_directory_description">This step is required to allow Mandarine to work. Please select a directory and then you can continue.</string>
<string name="cannot_skip_directory_help">https://github.com/citra-emu/citra/wiki/Citra-Android-user-data-and-storage</string>
<string name="set_up_theme_settings">Theme Settings</string>
<string name="setup_theme_settings_description">Configure your theme preferences for Mandarine.</string>
<string name="setup_set_theme">Set Theme</string>
<!-- Search Strings -->
<string name="search_and_filter_games">Search and Filter Games</string>
@ -516,13 +519,19 @@
<string name="memory_petabyte">PB</string>
<string name="memory_exabyte">EB</string>
<!-- Theme Modes -->
<!-- System theme -->
<string name="change_theme_mode">Change Theme Mode</string>
<string name="theme_mode_follow_system">Follow System</string>
<string name="theme_mode_light">Light</string>
<string name="theme_mode_dark">Dark</string>
<!-- Material You theme -->
<string name="material_you">Material You</string>
<string name="material_you_description">Use system colors across the app</string>
<string name="material_you_description">Use system colors across the app. Overrides static theme color option.</string>
<!-- Static theme color -->
<string name="static_theme_color">Change Theme Color</string>
<string name="static_theme_color_description">Change the main theme color of the app without the use of Material You (Requires Material You to be disabled)</string>
<!-- Black backgrounds theme -->
<string name="use_black_backgrounds">Black Backgrounds</string>

View File

@ -2,49 +2,255 @@
<resources>
<style name="Theme.Mandarine.Splash.Main" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/mandarine_surface</item>
<item name="windowSplashScreenBackground">@color/mandarine_surface_blue</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_mandarine</item>
<item name="postSplashScreenTheme">@style/Theme.Mandarine.Main</item>
</style>
<!-- Common theme colors -->
<style name="Theme.Mandarine" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Main theme colors -->
<item name="colorPrimary">@color/mandarine_primary</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer</item>
<item name="colorSecondary">@color/mandarine_secondary</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer</item>
<item name="colorTertiary">@color/mandarine_tertiary</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer</item>
<item name="colorError">@color/mandarine_error</item>
<item name="colorErrorContainer">@color/mandarine_errorContainer</item>
<item name="colorOnError">@color/mandarine_onError</item>
<item name="colorOnErrorContainer">@color/mandarine_onErrorContainer</item>
<item name="android:colorBackground">@color/mandarine_background</item>
<item name="colorOnBackground">@color/mandarine_onBackground</item>
<item name="colorSurface">@color/mandarine_surface</item>
<item name="colorOnSurface">@color/mandarine_onSurface</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant</item>
<item name="colorOutline">@color/mandarine_outline</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="sliderStyle">@style/MandarineSlider</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Trick for API >= 29 specific changes -->
<style name="Theme.Mandarine.Main" parent="Theme.Mandarine" />
<!-- Blue theme colors -->
<style name="Theme.Mandarine.Blue" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_blue</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_blue</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_blue</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_blue</item>
<item name="colorSecondary">@color/mandarine_secondary_blue</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_blue</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_blue</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_blue</item>
<item name="colorTertiary">@color/mandarine_tertiary_blue</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_blue</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_blue</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_blue</item>
<item name="android:colorBackground">@color/mandarine_background_blue</item>
<item name="colorOnBackground">@color/mandarine_onBackground_blue</item>
<item name="colorSurface">@color/mandarine_surface_blue</item>
<item name="colorOnSurface">@color/mandarine_onSurface_blue</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_blue</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_blue</item>
<item name="colorOutline">@color/mandarine_outline_blue</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_blue</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_blue</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_blue</item>
</style>
<!-- Red theme colors -->
<style name="Theme.Mandarine.Red" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_red</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_red</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_red</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_red</item>
<item name="colorSecondary">@color/mandarine_secondary_red</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_red</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_red</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_red</item>
<item name="colorTertiary">@color/mandarine_tertiary_red</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_red</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_red</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_red</item>
<item name="android:colorBackground">@color/mandarine_background_red</item>
<item name="colorOnBackground">@color/mandarine_onBackground_red</item>
<item name="colorSurface">@color/mandarine_surface_red</item>
<item name="colorOnSurface">@color/mandarine_onSurface_red</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_red</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_red</item>
<item name="colorOutline">@color/mandarine_outline_red</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_red</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_red</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_red</item>
</style>
<!-- Green theme colors -->
<style name="Theme.Mandarine.Green" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_green</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_green</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_green</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_green</item>
<item name="colorSecondary">@color/mandarine_secondary_green</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_green</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_green</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_green</item>
<item name="colorTertiary">@color/mandarine_tertiary_green</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_green</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_green</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_green</item>
<item name="android:colorBackground">@color/mandarine_background_green</item>
<item name="colorOnBackground">@color/mandarine_onBackground_green</item>
<item name="colorSurface">@color/mandarine_surface_green</item>
<item name="colorOnSurface">@color/mandarine_onSurface_green</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_green</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_green</item>
<item name="colorOutline">@color/mandarine_outline_green</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_green</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_green</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_green</item>
</style>
<!-- Orange theme colors -->
<style name="Theme.Mandarine.Orange" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_orange</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_orange</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_orange</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_orange</item>
<item name="colorSecondary">@color/mandarine_secondary_orange</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_orange</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_orange</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_orange</item>
<item name="colorTertiary">@color/mandarine_tertiary_orange</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_orange</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_orange</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_orange</item>
<item name="android:colorBackground">@color/mandarine_background_orange</item>
<item name="colorOnBackground">@color/mandarine_onBackground_orange</item>
<item name="colorSurface">@color/mandarine_surface_orange</item>
<item name="colorOnSurface">@color/mandarine_onSurface_orange</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_orange</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_orange</item>
<item name="colorOutline">@color/mandarine_outline_orange</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_orange</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_orange</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_orange</item>
</style>
<!-- Yellow theme colors -->
<style name="Theme.Mandarine.Yellow" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_yellow</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_yellow</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_yellow</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_yellow</item>
<item name="colorSecondary">@color/mandarine_secondary_yellow</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_yellow</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_yellow</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_yellow</item>
<item name="colorTertiary">@color/mandarine_tertiary_yellow</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_yellow</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_yellow</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_yellow</item>
<item name="android:colorBackground">@color/mandarine_background_yellow</item>
<item name="colorOnBackground">@color/mandarine_onBackground_yellow</item>
<item name="colorSurface">@color/mandarine_surface_yellow</item>
<item name="colorOnSurface">@color/mandarine_onSurface_yellow</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_yellow</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_yellow</item>
<item name="colorOutline">@color/mandarine_outline_yellow</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_yellow</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_yellow</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_yellow</item>
</style>
<!-- Violet theme colors -->
<style name="Theme.Mandarine.Violet" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_violet</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_violet</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_violet</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_violet</item>
<item name="colorSecondary">@color/mandarine_secondary_violet</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_violet</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_violet</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_violet</item>
<item name="colorTertiary">@color/mandarine_tertiary_violet</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_violet</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_violet</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_violet</item>
<item name="android:colorBackground">@color/mandarine_background_violet</item>
<item name="colorOnBackground">@color/mandarine_onBackground_violet</item>
<item name="colorSurface">@color/mandarine_surface_violet</item>
<item name="colorOnSurface">@color/mandarine_onSurface_violet</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_violet</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_violet</item>
<item name="colorOutline">@color/mandarine_outline_violet</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_violet</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_violet</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_violet</item>
</style>
<!-- Cyan theme colors -->
<style name="Theme.Mandarine.Cyan" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_cyan</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_cyan</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_cyan</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_cyan</item>
<item name="colorSecondary">@color/mandarine_secondary_cyan</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_cyan</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_cyan</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_cyan</item>
<item name="colorTertiary">@color/mandarine_tertiary_cyan</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_cyan</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_cyan</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_cyan</item>
<item name="android:colorBackground">@color/mandarine_background_cyan</item>
<item name="colorOnBackground">@color/mandarine_onBackground_cyan</item>
<item name="colorSurface">@color/mandarine_surface_cyan</item>
<item name="colorOnSurface">@color/mandarine_onSurface_cyan</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_cyan</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_cyan</item>
<item name="colorOutline">@color/mandarine_outline_cyan</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_cyan</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_cyan</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_cyan</item>
</style>
<!-- Gray Theme Colors -->
<style name="Theme.Mandarine.Gray" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_gray</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_gray</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_gray</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_gray</item>
<item name="colorSecondary">@color/mandarine_secondary_gray</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_gray</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_gray</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_gray</item>
<item name="colorTertiary">@color/mandarine_tertiary_gray</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_gray</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_gray</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_gray</item>
<item name="android:colorBackground">@color/mandarine_background_gray</item>
<item name="colorOnBackground">@color/mandarine_onBackground_gray</item>
<item name="colorSurface">@color/mandarine_surface_gray</item>
<item name="colorOnSurface">@color/mandarine_onSurface_gray</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_gray</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_gray</item>
<item name="colorOutline">@color/mandarine_outline_gray</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_gray</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_gray</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_gray</item>
</style>
<!-- Pink Theme Colors -->
<style name="Theme.Mandarine.Pink" parent="Theme.Mandarine">
<item name="colorPrimary">@color/mandarine_primary_pink</item>
<item name="colorOnPrimary">@color/mandarine_onPrimary_pink</item>
<item name="colorPrimaryContainer">@color/mandarine_primaryContainer_pink</item>
<item name="colorOnPrimaryContainer">@color/mandarine_onPrimaryContainer_pink</item>
<item name="colorSecondary">@color/mandarine_secondary_pink</item>
<item name="colorOnSecondary">@color/mandarine_onSecondary_pink</item>
<item name="colorSecondaryContainer">@color/mandarine_secondaryContainer_pink</item>
<item name="colorOnSecondaryContainer">@color/mandarine_onSecondaryContainer_pink</item>
<item name="colorTertiary">@color/mandarine_tertiary_pink</item>
<item name="colorOnTertiary">@color/mandarine_onTertiary_pink</item>
<item name="colorTertiaryContainer">@color/mandarine_tertiaryContainer_pink</item>
<item name="colorOnTertiaryContainer">@color/mandarine_onTertiaryContainer_pink</item>
<item name="android:colorBackground">@color/mandarine_background_pink</item>
<item name="colorOnBackground">@color/mandarine_onBackground_pink</item>
<item name="colorSurface">@color/mandarine_surface_pink</item>
<item name="colorOnSurface">@color/mandarine_onSurface_pink</item>
<item name="colorSurfaceVariant">@color/mandarine_surfaceVariant_pink</item>
<item name="colorOnSurfaceVariant">@color/mandarine_onSurfaceVariant_pink</item>
<item name="colorOutline">@color/mandarine_outline_pink</item>
<item name="colorOnSurfaceInverse">@color/mandarine_inverseOnSurface_pink</item>
<item name="colorSurfaceInverse">@color/mandarine_inverseSurface_pink</item>
<item name="colorPrimaryInverse">@color/mandarine_inversePrimary_pink</item>
</style>
</resources>