style: migrate to Material3

Mostly migrate to Material 3/Material You.

- Auxio should now follow dynamic colors on Android 12
- Accents have been regenerated to align with the new color roles
- Some colors have been tweaked here and there to line up with the
new design system
- Dialogs were not fully migrated, but that's because Material3 dialogs
look god-awful.
- Accent class was reworked to take up less memory

Now that this is out of the way, I can focus on other UI things before
the release of 2.0.0.
This commit is contained in:
OxygenCobalt 2021-10-10 16:44:17 -06:00
parent 5ebe17d0ad
commit 8c7f0867f9
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
87 changed files with 1013 additions and 529 deletions

View file

@ -100,15 +100,12 @@ dependencies {
implementation 'io.coil-kt:coil:1.3.2' implementation 'io.coil-kt:coil:1.3.2'
// Material // Material
implementation "com.google.android.material:material:1.4.0" implementation "com.google.android.material:material:1.5.0-alpha04"
// --- DEBUG --- // --- DEBUG ---
// Lint // Lint
ktlint 'com.pinterest:ktlint:0.42.1' ktlint 'com.pinterest:ktlint:0.42.1'
// Memory Leak checking
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
} }
task ktlint(type: JavaExec, group: "verification") { task ktlint(type: JavaExec, group: "verification") {

View file

@ -90,6 +90,8 @@ class MainActivity : AppCompatActivity() {
} }
private fun setupTheme() { private fun setupTheme() {
// We only use Material You theming on Android 12 and above.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
// Update the current accent and theme // Update the current accent and theme
val settingsManager = SettingsManager.getInstance() val settingsManager = SettingsManager.getInstance()
AppCompatDelegate.setDefaultNightMode(settingsManager.theme) AppCompatDelegate.setDefaultNightMode(settingsManager.theme)
@ -104,6 +106,7 @@ class MainActivity : AppCompatActivity() {
setTheme(newAccent.theme) setTheme(newAccent.theme)
} }
} }
}
private fun applyEdgeToEdgeWindow(binding: ActivityMainBinding) { private fun applyEdgeToEdgeWindow(binding: ActivityMainBinding) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {

View file

@ -22,76 +22,108 @@ import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.text.Spanned import android.text.Spanned
import androidx.annotation.ColorRes
import androidx.annotation.StringRes
import androidx.annotation.StyleRes
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.util.resolveStateList import org.oxycblt.auxio.util.resolveStateList
/** val ACCENT_PRIMARY_COLORS = arrayOf(
* A list of all possible accents. R.color.red_primary,
*/ R.color.pink_primary,
val ACCENTS = arrayOf( R.color.purple_primary,
Accent(R.color.red, R.style.Theme_Auxio_Red, R.style.Theme_Auxio_Black_Red, R.string.clr_red), R.color.deep_purple_primary,
Accent(R.color.pink, R.style.Theme_Auxio_Pink, R.style.Theme_Auxio_Black_Pink, R.string.clr_pink), R.color.indigo_primary,
Accent(R.color.purple, R.style.Theme_Auxio_Purple, R.style.Theme_Auxio_Black_Purple, R.string.clr_purple), R.color.blue_primary,
Accent( R.color.light_blue_primary,
R.color.deep_purple, R.color.cyan_primary,
R.color.teal_primary,
R.color.green_primary,
R.color.light_green_primary,
R.color.lime_primary,
R.color.yellow_primary,
R.color.orange_primary,
R.color.deep_orange_primary,
R.color.brown_primary,
R.color.grey_primary,
R.color.blue_grey_primary
)
val ACCENT_THEMES = arrayOf(
R.style.Theme_Auxio_Red,
R.style.Theme_Auxio_Pink,
R.style.Theme_Auxio_Purple,
R.style.Theme_Auxio_DeepPurple, R.style.Theme_Auxio_DeepPurple,
R.style.Theme_Auxio_Black_DeepPurple, R.style.Theme_Auxio_Indigo,
R.string.clr_deep_purple R.style.Theme_Auxio_Blue,
),
Accent(R.color.indigo, R.style.Theme_Auxio_Indigo, R.style.Theme_Auxio_Black_Indigo, R.string.clr_indigo),
Accent(R.color.blue, R.style.Theme_Auxio_Blue, R.style.Theme_Auxio_Black_Blue, R.string.clr_blue),
Accent(
R.color.light_blue,
R.style.Theme_Auxio_LightBlue, R.style.Theme_Auxio_LightBlue,
R.style.Theme_Auxio_Black_LightBlue, R.style.Theme_Auxio_Cyan,
R.string.clr_light_blue R.style.Theme_Auxio_Teal,
), R.style.Theme_Auxio_Green,
Accent(R.color.cyan, R.style.Theme_Auxio_Cyan, R.style.Theme_Auxio_Black_Cyan, R.string.clr_cyan),
Accent(R.color.teal, R.style.Theme_Auxio_Teal, R.style.Theme_Auxio_Black_Teal, R.string.clr_teal),
Accent(R.color.green, R.style.Theme_Auxio_Green, R.style.Theme_Auxio_Black_Green, R.string.clr_green),
Accent(
R.color.light_green,
R.style.Theme_Auxio_LightGreen, R.style.Theme_Auxio_LightGreen,
R.style.Theme_Auxio_Black_LightGreen, R.style.Theme_Auxio_Lime,
R.string.clr_light_green R.style.Theme_Auxio_Yellow,
), R.style.Theme_Auxio_Orange,
Accent(R.color.lime, R.style.Theme_Auxio_Lime, R.style.Theme_Auxio_Black_Lime, R.string.clr_lime),
Accent(R.color.yellow, R.style.Theme_Auxio_Yellow, R.style.Theme_Auxio_Black_Yellow, R.string.clr_yellow),
Accent(R.color.orange, R.style.Theme_Auxio_Orange, R.style.Theme_Auxio_Black_Orange, R.string.clr_orange),
Accent(
R.color.deep_orange,
R.style.Theme_Auxio_DeepOrange, R.style.Theme_Auxio_DeepOrange,
R.style.Theme_Auxio_Brown,
R.style.Theme_Auxio_Grey,
R.style.Theme_Auxio_BlueGrey
)
val ACCENT_BLACK_THEMES = arrayOf(
R.style.Theme_Auxio_Black_Red,
R.style.Theme_Auxio_Black_Pink,
R.style.Theme_Auxio_Black_Purple,
R.style.Theme_Auxio_Black_DeepPurple,
R.style.Theme_Auxio_Black_Indigo,
R.style.Theme_Auxio_Black_Blue,
R.style.Theme_Auxio_Black_LightBlue,
R.style.Theme_Auxio_Black_Cyan,
R.style.Theme_Auxio_Black_Teal,
R.style.Theme_Auxio_Black_Green,
R.style.Theme_Auxio_Black_LightGreen,
R.style.Theme_Auxio_Black_Lime,
R.style.Theme_Auxio_Black_Yellow,
R.style.Theme_Auxio_Black_Orange,
R.style.Theme_Auxio_Black_DeepOrange, R.style.Theme_Auxio_Black_DeepOrange,
R.string.clr_deep_orange R.style.Theme_Auxio_Black_Brown,
), R.style.Theme_Auxio_Black_Grey,
Accent(R.color.brown, R.style.Theme_Auxio_Brown, R.style.Theme_Auxio_Brown, R.string.clr_label_brown), R.style.Theme_Auxio_Black_BlueGrey
Accent(R.color.grey, R.style.Theme_Auxio_Grey, R.style.Theme_Auxio_Black_Grey, R.string.clr_label_grey), )
Accent(
R.color.blue_grey, val ACCENT_NAMES = arrayOf(
R.style.Theme_Auxio_BlueGrey, R.string.clr_red,
R.style.Theme_Auxio_Black_BlueGrey, R.string.clr_pink,
R.string.clr_purple,
R.string.clr_deep_purple,
R.string.clr_indigo,
R.string.clr_blue,
R.string.clr_light_blue,
R.string.clr_cyan,
R.string.clr_teal,
R.string.clr_green,
R.string.clr_light_green,
R.string.clr_lime,
R.string.clr_yellow,
R.string.clr_orange,
R.string.clr_deep_orange,
R.string.clr_brown,
R.string.clr_grey,
R.string.clr_blue_grey R.string.clr_blue_grey
),
) )
/** /**
* The data object for an accent. * The data object for an accent.
* @property color The color resource for this accent * @property color The primary color resource for this accent
* @property theme The theme resource for this accent * @property theme The theme resource for this accent
* @property blackTheme The black theme resource for this accent * @property blackTheme The black theme resource for this accent
* @property name The name of this accent * @property name The name of this accent
* @author OxygenCobalt * @author OxygenCobalt
*/ */
data class Accent( data class Accent(val index: Int) {
@ColorRes val color: Int, val color: Int get() = ACCENT_PRIMARY_COLORS[index]
@StyleRes val theme: Int, val theme: Int get() = ACCENT_THEMES[index]
@StyleRes val blackTheme: Int, val blackTheme: Int get() = ACCENT_BLACK_THEMES[index]
@StringRes val name: Int val name: Int get() = ACCENT_NAMES[index]
) {
/** /**
* Get a [ColorStateList] of the accent * Get a [ColorStateList] of the accent
*/ */

View file

@ -38,14 +38,14 @@ class AccentAdapter(
) : RecyclerView.Adapter<AccentAdapter.ViewHolder>() { ) : RecyclerView.Adapter<AccentAdapter.ViewHolder>() {
private var selectedViewHolder: ViewHolder? = null private var selectedViewHolder: ViewHolder? = null
override fun getItemCount(): Int = ACCENTS.size override fun getItemCount(): Int = ACCENT_PRIMARY_COLORS.size
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(ItemAccentBinding.inflate(parent.context.inflater)) return ViewHolder(ItemAccentBinding.inflate(parent.context.inflater))
} }
override fun onBindViewHolder(holder: ViewHolder, position: Int) { override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(ACCENTS[position]) holder.bind(Accent(position))
} }
private fun setAccent(accent: Accent) { private fun setAccent(accent: Accent) {

View file

@ -47,7 +47,7 @@ class AccentDialog : LifecycleDialog() {
val binding = DialogAccentBinding.inflate(inflater) val binding = DialogAccentBinding.inflate(inflater)
savedInstanceState?.getInt(KEY_PENDING_ACCENT)?.let { index -> savedInstanceState?.getInt(KEY_PENDING_ACCENT)?.let { index ->
pendingAccent = ACCENTS.getOrElse(index) { pendingAccent } pendingAccent = Accent(index)
} }
// --- UI SETUP --- // --- UI SETUP ---
@ -70,7 +70,7 @@ class AccentDialog : LifecycleDialog() {
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
outState.putInt(KEY_PENDING_ACCENT, ACCENTS.indexOf(pendingAccent)) outState.putInt(KEY_PENDING_ACCENT, pendingAccent.index)
} }
override fun onConfigDialog(builder: AlertDialog.Builder) { override fun onConfigDialog(builder: AlertDialog.Builder) {

View file

@ -46,7 +46,7 @@ import kotlin.system.exitProcess
* @author OxygenCobalt * @author OxygenCobalt
*/ */
class ExcludedDialog : LifecycleDialog() { class ExcludedDialog : LifecycleDialog() {
private val blacklistModel: ExcludedViewModel by viewModels { private val excludedModel: ExcludedViewModel by viewModels {
ExcludedViewModel.Factory(requireContext()) ExcludedViewModel.Factory(requireContext())
} }
@ -60,7 +60,7 @@ class ExcludedDialog : LifecycleDialog() {
val binding = DialogExcludedBinding.inflate(inflater) val binding = DialogExcludedBinding.inflate(inflater)
val adapter = ExcludedEntryAdapter { path -> val adapter = ExcludedEntryAdapter { path ->
blacklistModel.removePath(path) excludedModel.removePath(path)
} }
val launcher = registerForActivityResult( val launcher = registerForActivityResult(
@ -83,7 +83,7 @@ class ExcludedDialog : LifecycleDialog() {
} }
dialog.getButton(AlertDialog.BUTTON_POSITIVE)?.setOnClickListener { dialog.getButton(AlertDialog.BUTTON_POSITIVE)?.setOnClickListener {
if (blacklistModel.isModified()) { if (excludedModel.isModified()) {
saveAndRestart() saveAndRestart()
} else { } else {
dismiss() dismiss()
@ -93,7 +93,7 @@ class ExcludedDialog : LifecycleDialog() {
// --- VIEWMODEL SETUP --- // --- VIEWMODEL SETUP ---
blacklistModel.paths.observe(viewLifecycleOwner) { paths -> excludedModel.paths.observe(viewLifecycleOwner) { paths ->
adapter.submitList(paths) adapter.submitList(paths)
binding.excludedEmpty.isVisible = paths.isEmpty() binding.excludedEmpty.isVisible = paths.isEmpty()
@ -122,7 +122,7 @@ class ExcludedDialog : LifecycleDialog() {
val path = parseDocTreePath(uri) val path = parseDocTreePath(uri)
if (path != null) { if (path != null) {
blacklistModel.addPath(path) excludedModel.addPath(path)
} else { } else {
// TODO: Tolerate this once the excluded system is modernized // TODO: Tolerate this once the excluded system is modernized
requireContext().showToast(R.string.err_bad_dir) requireContext().showToast(R.string.err_bad_dir)
@ -149,7 +149,7 @@ class ExcludedDialog : LifecycleDialog() {
} }
private fun saveAndRestart() { private fun saveAndRestart() {
blacklistModel.save { excludedModel.save {
playbackModel.savePlaybackState(requireContext(), ::hardRestart) playbackModel.savePlaybackState(requireContext(), ::hardRestart)
} }
} }

View file

@ -37,7 +37,7 @@ class ExcludedViewModel(context: Context) : ViewModel() {
private val mPaths = MutableLiveData(mutableListOf<String>()) private val mPaths = MutableLiveData(mutableListOf<String>())
val paths: LiveData<MutableList<String>> get() = mPaths val paths: LiveData<MutableList<String>> get() = mPaths
private val blacklistDatabase = ExcludedDatabase.getInstance(context) private val excludedDatabase = ExcludedDatabase.getInstance(context)
private var dbPaths = listOf<String>() private var dbPaths = listOf<String>()
init { init {
@ -69,7 +69,7 @@ class ExcludedViewModel(context: Context) : ViewModel() {
*/ */
fun save(onDone: () -> Unit) { fun save(onDone: () -> Unit) {
viewModelScope.launch(Dispatchers.IO) { viewModelScope.launch(Dispatchers.IO) {
blacklistDatabase.writePaths(mPaths.value!!) excludedDatabase.writePaths(mPaths.value!!)
dbPaths = mPaths.value!! dbPaths = mPaths.value!!
onDone() onDone()
@ -81,7 +81,7 @@ class ExcludedViewModel(context: Context) : ViewModel() {
*/ */
private fun loadDatabasePaths() { private fun loadDatabasePaths() {
viewModelScope.launch(Dispatchers.IO) { viewModelScope.launch(Dispatchers.IO) {
dbPaths = blacklistDatabase.readPaths() dbPaths = excludedDatabase.readPaths()
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
mPaths.value = dbPaths.toMutableList() mPaths.value = dbPaths.toMutableList()
@ -97,7 +97,7 @@ class ExcludedViewModel(context: Context) : ViewModel() {
class Factory(private val context: Context) : ViewModelProvider.Factory { class Factory(private val context: Context) : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T { override fun <T : ViewModel?> create(modelClass: Class<T>): T {
check(modelClass.isAssignableFrom(ExcludedViewModel::class.java)) { check(modelClass.isAssignableFrom(ExcludedViewModel::class.java)) {
"BlacklistViewModel.Factory does not support this class" "ExcludedViewModel.Factory does not support this class"
} }
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")

View file

@ -23,7 +23,6 @@ import android.view.LayoutInflater
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.iterator
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels

View file

@ -29,7 +29,6 @@ import org.oxycblt.auxio.music.ActionHeader
import org.oxycblt.auxio.music.BaseModel import org.oxycblt.auxio.music.BaseModel
import org.oxycblt.auxio.music.Header import org.oxycblt.auxio.music.Header
import org.oxycblt.auxio.music.Song import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.ActionHeaderViewHolder import org.oxycblt.auxio.ui.ActionHeaderViewHolder
import org.oxycblt.auxio.ui.BaseViewHolder import org.oxycblt.auxio.ui.BaseViewHolder
import org.oxycblt.auxio.ui.DiffCallback import org.oxycblt.auxio.ui.DiffCallback
@ -41,7 +40,6 @@ import org.oxycblt.auxio.util.logE
/** /**
* The single adapter for both the Next Queue and the User Queue. * The single adapter for both the Next Queue and the User Queue.
* @param touchHelper The [ItemTouchHelper] ***containing*** [QueueDragCallback] to be used * @param touchHelper The [ItemTouchHelper] ***containing*** [QueueDragCallback] to be used
* @param playbackModel The [PlaybackViewModel] for updates to be dispatched to
* @author OxygenCobalt * @author OxygenCobalt
*/ */
class QueueAdapter( class QueueAdapter(

View file

@ -27,7 +27,6 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import kotlinx.coroutines.NonDisposableHandle.parent
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentQueueBinding import org.oxycblt.auxio.databinding.FragmentQueueBinding
import org.oxycblt.auxio.music.ActionHeader import org.oxycblt.auxio.music.ActionHeader

View file

@ -53,7 +53,7 @@ class AboutFragment : Fragment() {
val musicStore = MusicStore.getInstance() val musicStore = MusicStore.getInstance()
binding.applyEdge { bars -> binding.applyEdge { bars ->
binding.aboutAppbar.updatePadding(top = bars.top,) binding.aboutAppbar.updatePadding(top = bars.top)
binding.aboutContents.updatePadding(bottom = bars.bottom) binding.aboutContents.updatePadding(bottom = bars.bottom)
} }

View file

@ -20,12 +20,8 @@ package org.oxycblt.auxio.settings
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.view.ContextThemeWrapper
import androidx.appcompat.widget.AppCompatTextView
import androidx.core.view.updatePadding
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import org.oxycblt.auxio.BuildConfig import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
import org.oxycblt.auxio.ui.LifecycleDialog import org.oxycblt.auxio.ui.LifecycleDialog
class IntListPrefDialog : LifecycleDialog() { class IntListPrefDialog : LifecycleDialog() {
@ -37,23 +33,7 @@ class IntListPrefDialog : LifecycleDialog() {
.findPreference<IntListPreference>(requireArguments().getString(ARG_KEY, null)) .findPreference<IntListPreference>(requireArguments().getString(ARG_KEY, null))
) )
// Don't set the title. Instead, Set a custom title view so that the padding is actually a builder.setTitle(pref.title)
// uniform 16dp between the title and the list of options. I can't believe I have to do this.
val titleView = AppCompatTextView(
ContextThemeWrapper(
requireContext(),
R.style.Widget_Auxio_Dialog_TextView
)
).apply {
text = pref.title
val padding = resources.getDimension(R.dimen.spacing_medium).toInt()
val paddingHack = resources.getDimension(R.dimen.spacing_small).toInt()
updatePadding(left = padding, top = padding, right = padding, bottom = paddingHack)
}
builder.setCustomTitle(titleView)
builder.setSingleChoiceItems(pref.entries, pref.getValueIndex()) { _, index -> builder.setSingleChoiceItems(pref.entries, pref.getValueIndex()) { _, index ->
pref.setValueIndex(index) pref.setValueIndex(index)

View file

@ -21,7 +21,7 @@ package org.oxycblt.auxio.settings
import android.content.SharedPreferences import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.core.content.edit import androidx.core.content.edit
import org.oxycblt.auxio.accent.ACCENTS import org.oxycblt.auxio.accent.ACCENT_PRIMARY_COLORS
import org.oxycblt.auxio.accent.Accent import org.oxycblt.auxio.accent.Accent
import org.oxycblt.auxio.playback.state.PlaybackMode import org.oxycblt.auxio.playback.state.PlaybackMode
@ -70,8 +70,8 @@ fun handleAccentCompat(prefs: SharedPreferences): Accent {
} }
// If there are still any issues with indices, just correct them so a crash doesnt occur. // If there are still any issues with indices, just correct them so a crash doesnt occur.
if (accent > ACCENTS.lastIndex) { if (accent > ACCENT_PRIMARY_COLORS.lastIndex) {
accent = ACCENTS.lastIndex accent = ACCENT_PRIMARY_COLORS.lastIndex
} }
prefs.edit { prefs.edit {
@ -80,10 +80,10 @@ fun handleAccentCompat(prefs: SharedPreferences): Accent {
apply() apply()
} }
return ACCENTS[accent] return Accent(accent)
} }
return ACCENTS[prefs.getInt(SettingsManager.KEY_ACCENT, 5)] return Accent(prefs.getInt(SettingsManager.KEY_ACCENT, 5))
} }
fun handleSongPlayModeCompat(prefs: SharedPreferences): PlaybackMode { fun handleSongPlayModeCompat(prefs: SharedPreferences): PlaybackMode {

View file

@ -22,7 +22,6 @@ import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import androidx.core.content.edit import androidx.core.content.edit
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import org.oxycblt.auxio.accent.ACCENTS
import org.oxycblt.auxio.accent.Accent import org.oxycblt.auxio.accent.Accent
import org.oxycblt.auxio.playback.state.PlaybackMode import org.oxycblt.auxio.playback.state.PlaybackMode
import org.oxycblt.auxio.ui.DisplayMode import org.oxycblt.auxio.ui.DisplayMode
@ -58,12 +57,8 @@ class SettingsManager private constructor(context: Context) :
var accent: Accent var accent: Accent
get() = handleAccentCompat(sharedPrefs) get() = handleAccentCompat(sharedPrefs)
set(value) { set(value) {
val accentIndex = ACCENTS.indexOf(value)
check(accentIndex != -1) { "Invalid accent" }
sharedPrefs.edit { sharedPrefs.edit {
putInt(KEY_ACCENT, accentIndex) putInt(KEY_ACCENT, value.index)
apply() apply()
} }
} }

View file

@ -23,11 +23,8 @@ import android.os.Bundle
import android.view.View import android.view.View
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatDialogFragment import androidx.appcompat.app.AppCompatDialogFragment
import androidx.core.graphics.drawable.toDrawable
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.oxycblt.auxio.R
import org.oxycblt.auxio.util.resolveAttr
/** /**
* A wrapper around [DialogFragment] that allows the usage of the standard Auxio lifecycle * A wrapper around [DialogFragment] that allows the usage of the standard Auxio lifecycle
@ -37,9 +34,6 @@ abstract class LifecycleDialog : AppCompatDialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val builder = MaterialAlertDialogBuilder(requireActivity(), theme) val builder = MaterialAlertDialogBuilder(requireActivity(), theme)
// Apply a custom background to avoid rounded corners.
builder.background = R.attr.colorSurface.resolveAttr(requireContext()).toDrawable()
onConfigDialog(builder) onConfigDialog(builder)
return builder.create() return builder.create()

View file

@ -107,16 +107,6 @@ fun Context.isLandscape(): Boolean {
return resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE return resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
} }
/**
* Determine if we are in tablet mode or not
*/
fun Context.isTablet(): Boolean {
val layout = resources.configuration.screenLayout and Configuration.SCREENLAYOUT_SIZE_MASK
return layout == Configuration.SCREENLAYOUT_SIZE_XLARGE ||
layout == Configuration.SCREENLAYOUT_SIZE_LARGE
}
/** /**
* Determine if the tablet is XLARGE, ignoring normal tablets. * Determine if the tablet is XLARGE, ignoring normal tablets.
*/ */

View file

@ -21,7 +21,6 @@ package org.oxycblt.auxio.util
import android.database.Cursor import android.database.Cursor
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import android.os.Looper import android.os.Looper
import org.oxycblt.auxio.R
/** /**
* Shortcut for querying all items in a database and running [block] with the cursor returned. * Shortcut for querying all items in a database and running [block] with the cursor returned.

View file

@ -27,7 +27,6 @@ import android.os.Build
import android.util.TypedValue import android.util.TypedValue
import android.view.View import android.view.View
import android.view.WindowInsets import android.view.WindowInsets
import android.widget.ImageButton
import androidx.annotation.AttrRes import androidx.annotation.AttrRes
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
import androidx.annotation.ColorRes import androidx.annotation.ColorRes
@ -86,17 +85,6 @@ fun RecyclerView.applySpans(shouldBeFullWidth: ((Int) -> Boolean)? = null) {
*/ */
fun RecyclerView.canScroll(): Boolean = computeVerticalScrollRange() > height fun RecyclerView.canScroll(): Boolean = computeVerticalScrollRange() > height
/**
* Disable an image button.
* TODO: Replace this fragile function with something else.
*/
fun ImageButton.disable() {
if (isEnabled) {
imageTintList = ContextCompat.getColorStateList(context, R.color.overlay_disabled)
isEnabled = false
}
}
/** /**
* Resolve a color. * Resolve a color.
* @param context [Context] required * @param context [Context] required

View file

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!-- Animator from IndicatorFastScroll (https://github.com/reddit/IndicatorFastScroll) -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true">
<set>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleX"
android:valueTo="1"
android:valueType="floatType" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleY"
android:valueTo="1"
android:valueType="floatType" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="alpha"
android:valueTo="1"
android:valueType="floatType" />
</set>
</item>
<item>
<set>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleX"
android:valueTo="0"
android:valueType="floatType" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleY"
android:valueTo="0"
android:valueType="floatType" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="alpha"
android:valueTo="0"
android:valueType="floatType" />
</set>
</item>
</selector>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSurface" android:alpha="0.24" android:state_enabled="false" /> <item android:alpha="0.24" android:color="?attr/colorOnSurface" android:state_enabled="false" />
<item android:color="?attr/colorControlNormal" /> <item android:color="?attr/colorControlNormal" />
</selector> </selector>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.12" android:color="?attr/elevationOverlayColor" />
</selector>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSurface" android:alpha="0.16" /> <item android:alpha="0.16" android:color="?attr/colorOnSurface" />
</selector> </selector>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSurface" android:alpha="0.12" /> <item android:alpha="0.24" android:color="?attr/colorOnSurface" />
</selector> </selector>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorAccent" <item android:color="?attr/colorPrimary" android:state_activated="true" />
android:state_activated="true" />
<item android:color="?attr/colorControlNormal" /> <item android:color="?attr/colorControlNormal" />
</selector> </selector>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorAccent" <item android:color="?attr/colorPrimary" android:state_activated="true" />
android:state_activated="true" />
<item android:color="?android:attr/textColorPrimary" /> <item android:color="?android:attr/textColorPrimary" />
</selector> </selector>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorAccent" <item android:color="?attr/colorPrimary" android:state_activated="true" />
android:state_activated="true" />
<item android:color="?android:attr/textColorSecondary" /> <item android:color="?android:attr/textColorSecondary" />
</selector> </selector>

View file

@ -5,6 +5,6 @@
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path
android:fillColor="?attr/colorAccent" android:fillColor="?attr/colorPrimary"
android:pathData="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c0.83 0 1.5-0.67 1.5-1.5 0-0.39-0.15-0.74-0.39-1.01-0.23-0.26-0.38-0.61-0.38-0.99 0-0.83 0.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5 11 5.67 11 6.5 10.33 8 9.5 8zm5 0C13.67 8 13 7.33 13 6.5S13.67 5 14.5 5 16 5.67 16 6.5 15.33 8 14.5 8zm3 4c-0.83 0-1.5-0.67-1.5-1.5S16.67 9 17.5 9 19 9.67 19 10.5 18.33 12 17.5 12z" /> android:pathData="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c0.83 0 1.5-0.67 1.5-1.5 0-0.39-0.15-0.74-0.39-1.01-0.23-0.26-0.38-0.61-0.38-0.99 0-0.83 0.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5 11 5.67 11 6.5 10.33 8 9.5 8zm5 0C13.67 8 13 7.33 13 6.5S13.67 5 14.5 5 16 5.67 16 6.5 15.33 8 14.5 8zm3 4c-0.83 0-1.5-0.67-1.5-1.5S16.67 9 17.5 9 19 9.67 19 10.5 18.33 12 17.5 12z" />
</vector> </vector>

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorAccent"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M22 2H6v16h16V2zm-4 5h-3v5.5c0 1.38-1.12 2.5-2.5 2.5S10 13.88 10 12.5s1.12-2.5 2.5-2.5c0.57 0 1.08 0.19 1.5 0.51V5h4v2zM4 6H2v16h16v-2H4V6z" />
</vector>

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -1,7 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorAccent" android:tint="?attr/colorPrimary"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android" <ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/mtrl_btn_ripple_color"> android:color="@color/overlay_selection">
<item> <item>
<shape android:shape="rectangle" <shape android:shape="rectangle"
android:tint="@color/sel_accented"> android:tint="@color/sel_accented">

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--Custom cursor shape that reflects the current accent color. https://stackoverflow.com/a/28311351/14143986-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/colorAccent" />
<size android:width="2dp" />
</shape>

View file

@ -7,7 +7,7 @@
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<stroke <stroke
android:width="@dimen/size_stroke_small" android:width="@dimen/size_stroke_small"
android:color="@color/mtrl_btn_stroke_color_selector" /> android:color="?attr/colorOutline" />
</shape> </shape>
</item> </item>
</layer-list> </layer-list>

View file

@ -9,6 +9,9 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:overScrollMode="never" android:overScrollMode="never"
android:paddingTop="@dimen/spacing_medium" android:paddingTop="@dimen/spacing_medium"
android:paddingStart="@dimen/spacing_small"
android:paddingEnd="@dimen/spacing_small"
android:paddingBottom="@dimen/spacing_small"
app:layoutManager="org.oxycblt.auxio.accent.AutoGridLayoutManager" app:layoutManager="org.oxycblt.auxio.accent.AutoGridLayoutManager"
app:layout_constraintBottom_toTopOf="@+id/accent_cancel" app:layout_constraintBottom_toTopOf="@+id/accent_cancel"
app:layout_constraintTop_toBottomOf="@+id/accent_header" app:layout_constraintTop_toBottomOf="@+id/accent_header"

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:paddingTop="@dimen/spacing_medium"
android:paddingEnd="@dimen/spacing_medium"
android:paddingStart="@dimen/spacing_medium"
android:paddingBottom="@dimen/spacing_small"
android:fontFamily="@font/inter_bold"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_large"
tools:text="Title" />

View file

@ -34,11 +34,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:background="@android:color/transparent"
app:tabContentStart="@dimen/spacing_medium" app:tabContentStart="@dimen/spacing_medium"
app:tabIndicatorColor="?attr/colorAccent"
app:tabMode="scrollable" app:tabMode="scrollable"
app:tabTextAppearance="@style/TextAppearance.Auxio.TabLayout.Label" app:tabTextAppearance="@style/TextAppearance.Auxio.TabLayout.Label"
app:tabTextColor="?android:attr/textColorPrimary" app:tabTextColor="@color/sel_accented_primary"/>
app:tabUnboundedRipple="true" />
</org.oxycblt.auxio.ui.LiftAppBarLayout> </org.oxycblt.auxio.ui.LiftAppBarLayout>

View file

@ -28,7 +28,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:hintEnabled="false" app:hintEnabled="false"
app:boxBackgroundMode="filled" app:boxBackgroundMode="filled"
app:boxStrokeColor="?attr/colorAccent" app:boxStrokeColor="?attr/colorPrimary"
app:boxStrokeWidth="0dp" app:boxStrokeWidth="0dp"
app:boxStrokeWidthFocused="@dimen/size_stroke_large" app:boxStrokeWidthFocused="@dimen/size_stroke_large"
app:endIconContentDescription="@string/desc_clear_search" app:endIconContentDescription="@string/desc_clear_search"
@ -45,8 +45,7 @@
android:hint="@string/hint_search_library" android:hint="@string/hint_search_library"
android:padding="@dimen/spacing_medium" android:padding="@dimen/spacing_medium"
android:imeOptions="actionSearch|flagNoExtractUi" android:imeOptions="actionSearch|flagNoExtractUi"
android:inputType="textFilter" android:inputType="textFilter" />
android:textCursorDrawable="@drawable/ui_cursor" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
</org.oxycblt.auxio.ui.LiftAppBarLayout> </org.oxycblt.auxio.ui.LiftAppBarLayout>

View file

@ -17,7 +17,7 @@
android:padding="@dimen/spacing_medium" android:padding="@dimen/spacing_medium"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:src="@drawable/ic_check" android:src="@drawable/ic_check"
tools:backgroundTint="?attr/colorAccent" tools:backgroundTint="?attr/colorPrimary"
tools:ignore="ContentDescription, SpeakableTextPresentCheck" /> tools:ignore="ContentDescription, SpeakableTextPresentCheck" />
</FrameLayout> </FrameLayout>

View file

@ -25,9 +25,9 @@
<TextView <TextView
android:id="@+id/album_name" android:id="@+id/album_name"
style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Primary"
android:text="@{album.name}" android:text="@{album.name}"
app:layout_constraintBottom_toTopOf="@+id/album_info" app:layout_constraintBottom_toTopOf="@+id/album_info"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -38,9 +38,9 @@
<TextView <TextView
android:id="@+id/album_info" android:id="@+id/album_info"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:text="@{@string/fmt_two(album.artist.name, @plurals/fmt_song_count(album.songs.size, album.songs.size))}" android:text="@{@string/fmt_two(album.artist.name, @plurals/fmt_song_count(album.songs.size, album.songs.size))}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -5,6 +5,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
style="@style/Widget.Auxio.ItemLayout" style="@style/Widget.Auxio.ItemLayout"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:clickable="false" android:clickable="false"
android:focusable="false" android:focusable="false"
android:padding="0dp"> android:padding="0dp">
@ -12,6 +14,8 @@
<TextView <TextView
android:id="@+id/excluded_path" android:id="@+id/excluded_path"
style="@style/Widget.Auxio.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_margin="@dimen/spacing_medium" android:layout_margin="@dimen/spacing_medium"
android:maxLines="@null" android:maxLines="@null"
android:gravity="center" android:gravity="center"

View file

@ -10,7 +10,6 @@
<!-- Label Namespace | Static Labels --> <!-- Label Namespace | Static Labels -->
<string name="lbl_retry">"Zkusit znovu"</string> <string name="lbl_retry">"Zkusit znovu"</string>
<string name="lbl_grant">"Udělit"</string> <string name="lbl_grant">"Udělit"</string>
<string name="lbl_library">"Knihovna"</string>
<string name="lbl_genres">"Žánry"</string> <string name="lbl_genres">"Žánry"</string>
<string name="lbl_artists">"Umělci"</string> <string name="lbl_artists">"Umělci"</string>
<string name="lbl_albums">"Alba"</string> <string name="lbl_albums">"Alba"</string>
@ -60,9 +59,6 @@
<string name="set_black_mode">"Černé téma"</string> <string name="set_black_mode">"Černé téma"</string>
<string name="setting_black_mode_desc">"Použít kompletně černé tmavé téma"</string> <string name="setting_black_mode_desc">"Použít kompletně černé tmavé téma"</string>
<string name="set_display">"Zobrazení"</string> <string name="set_display">"Zobrazení"</string>
<string name="set_lib_display">"Položky knihovny"</string>
<string name="set_color_notif">"Obarvit oznámení"</string>
<string name="set_color_notif_desc">"Zobrazit obrázek alba v oznámení"</string>
<string name="set_show_covers">"Zobrazit barvy alba"</string> <string name="set_show_covers">"Zobrazit barvy alba"</string>
<string name="set_show_covers_desc">"Vypněte pro ušetření paměti"</string> <string name="set_show_covers_desc">"Vypněte pro ušetření paměti"</string>
<string name="set_quality_covers">"Ignorovat obaly MediaStore"</string> <string name="set_quality_covers">"Ignorovat obaly MediaStore"</string>
@ -100,7 +96,6 @@
<string name="hint_search_library">"Prohledat vaši knihovnu…"</string> <string name="hint_search_library">"Prohledat vaši knihovnu…"</string>
<!-- Description Namespace | Accessibility Strings --> <!-- Description Namespace | Accessibility Strings -->
<string name="desc_sort">"Změnit pořadí řazení"</string>
<string name="desc_track_number">"Stopa %d"</string> <string name="desc_track_number">"Stopa %d"</string>
<string name="desc_play_pause">"Přehrát nebo pozastavit"</string> <string name="desc_play_pause">"Přehrát nebo pozastavit"</string>
<string name="desc_skip_next">"Přeskočit na další skladbu"</string> <string name="desc_skip_next">"Přeskočit na další skladbu"</string>
@ -119,8 +114,6 @@
<!-- Default Namespace | Placeholder values --> <!-- Default Namespace | Placeholder values -->
<string name="def_genre">"Neznámý žánr"</string> <string name="def_genre">"Neznámý žánr"</string>
<string name="def_artist">"Neznámý umělec"</string>
<string name="def_album">"Neznámé album"</string>
<string name="def_date">"Neznámé datum"</string> <string name="def_date">"Neznámé datum"</string>
<string name="def_playback">"Nehraje žádná hudba"</string> <string name="def_playback">"Nehraje žádná hudba"</string>
<string name="def_widget_song">"Název skladby"</string> <string name="def_widget_song">"Název skladby"</string>
@ -142,8 +135,8 @@
<string name="clr_yellow">"Žlutá"</string> <string name="clr_yellow">"Žlutá"</string>
<string name="clr_orange">"Oranžová"</string> <string name="clr_orange">"Oranžová"</string>
<string name="clr_deep_orange">"Tmavě oranžová"</string> <string name="clr_deep_orange">"Tmavě oranžová"</string>
<string name="clr_label_brown">"Hnědá"</string> <string name="clr_brown">"Hnědá"</string>
<string name="clr_label_grey">"Šedá"</string> <string name="clr_grey">"Šedá"</string>
<string name="clr_blue_grey">"Modrá šedá"</string> <string name="clr_blue_grey">"Modrá šedá"</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -7,7 +7,6 @@
<string name="lbl_retry">Erneut versuchen</string> <string name="lbl_retry">Erneut versuchen</string>
<string name="lbl_grant">Gewähren</string> <string name="lbl_grant">Gewähren</string>
<string name="lbl_library">Bibliothek</string>
<string name="lbl_genres">Genres</string> <string name="lbl_genres">Genres</string>
<string name="lbl_artists">Künstler</string> <string name="lbl_artists">Künstler</string>
<string name="lbl_albums">Alben</string> <string name="lbl_albums">Alben</string>
@ -62,9 +61,6 @@
<string name="set_accent">Akzentfarbe</string> <string name="set_accent">Akzentfarbe</string>
<string name="set_display">Anzeige</string> <string name="set_display">Anzeige</string>
<string name="set_lib_display">Musikbibliothekeinträge</string>
<string name="set_color_notif">Benachrichtigung farblich anpassen</string>
<string name="set_color_notif_desc">Albumcover in Benachrichtigung zeigen</string>
<string name="set_show_covers">Albumcover anzeigen</string> <string name="set_show_covers">Albumcover anzeigen</string>
<string name="set_show_covers_desc">Ausschalten um Speicherplatz zu sparen</string> <string name="set_show_covers_desc">Ausschalten um Speicherplatz zu sparen</string>
<string name="set_quality_covers">MediaStore Cover ignorieren</string> <string name="set_quality_covers">MediaStore Cover ignorieren</string>
@ -103,7 +99,6 @@
<string name="hint_search_library">Musikbibliothek durchsuchen…</string> <string name="hint_search_library">Musikbibliothek durchsuchen…</string>
<!-- Description Namespace | Accessibility Strings --> <!-- Description Namespace | Accessibility Strings -->
<string name="desc_sort">Reihenfolge ändern</string>
<string name="desc_track_number">Titel %d</string> <string name="desc_track_number">Titel %d</string>
<string name="desc_play_pause">Abspielen oder Pausieren</string> <string name="desc_play_pause">Abspielen oder Pausieren</string>
@ -121,8 +116,6 @@
<!-- Placeholder Namespace | Placeholder values --> <!-- Placeholder Namespace | Placeholder values -->
<string name="def_genre">Unbekanntes Genre</string> <string name="def_genre">Unbekanntes Genre</string>
<string name="def_artist">Unbekannter Künstler</string>
<string name="def_album">Unbekanntes Album</string>
<string name="def_date">Kein Datum</string> <string name="def_date">Kein Datum</string>
<!-- Color Label namespace | Accent names --> <!-- Color Label namespace | Accent names -->
@ -141,8 +134,8 @@
<string name="clr_yellow">Gelb</string> <string name="clr_yellow">Gelb</string>
<string name="clr_orange">Orange</string> <string name="clr_orange">Orange</string>
<string name="clr_deep_orange">Tieforange</string> <string name="clr_deep_orange">Tieforange</string>
<string name="clr_label_brown">Braun</string> <string name="clr_brown">Braun</string>
<string name="clr_label_grey">Grau</string> <string name="clr_grey">Grau</string>
<string name="clr_blue_grey">Blaugrau</string> <string name="clr_blue_grey">Blaugrau</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Προσπάθεια εκ νέου</string> <string name="lbl_retry">Προσπάθεια εκ νέου</string>
<string name="lbl_grant">Χορήγησε</string> <string name="lbl_grant">Χορήγησε</string>
<string name="lbl_library">Βιβλιοθήκη</string>
<string name="lbl_genres">Είδη</string> <string name="lbl_genres">Είδη</string>
<string name="lbl_artists">Καλλιτέχνες</string> <string name="lbl_artists">Καλλιτέχνες</string>
<string name="lbl_albums">Άλμπουμ</string> <string name="lbl_albums">Άλμπουμ</string>
@ -45,7 +44,6 @@
<string name="set_theme_night">Σκοτεινό</string> <string name="set_theme_night">Σκοτεινό</string>
<string name="set_accent">Χρώμα χαρακτήρων</string> <string name="set_accent">Χρώμα χαρακτήρων</string>
<string name="set_color_notif">Χρωματισμός ειδοποιήσεων</string>
<string name="set_quality_covers">Παράληψη των Media Store εξωφύλλων</string> <string name="set_quality_covers">Παράληψη των Media Store εξωφύλλων</string>
<string name="set_audio">Ήχος</string> <string name="set_audio">Ήχος</string>
@ -74,8 +72,8 @@
<string name="clr_lime">Πράσινος Κίτρινος</string> <string name="clr_lime">Πράσινος Κίτρινος</string>
<string name="clr_yellow">Κίτρινος</string> <string name="clr_yellow">Κίτρινος</string>
<string name="clr_orange">Πορτοκαλής</string> <string name="clr_orange">Πορτοκαλής</string>
<string name="clr_label_brown">Καφέ</string> <string name="clr_brown">Καφέ</string>
<string name="clr_label_grey">Γκρί</string> <string name="clr_grey">Γκρί</string>
<string name="clr_blue_grey">Γαλάζιος Γκρί</string> <string name="clr_blue_grey">Γαλάζιος Γκρί</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -8,7 +8,6 @@
<string name="lbl_retry">Reintentar</string> <string name="lbl_retry">Reintentar</string>
<string name="lbl_grant">Permitir</string> <string name="lbl_grant">Permitir</string>
<string name="lbl_library">Biblioteca</string>
<string name="lbl_genres">Géneros</string> <string name="lbl_genres">Géneros</string>
<string name="lbl_artists">Artistas</string> <string name="lbl_artists">Artistas</string>
<string name="lbl_albums">Álbum</string> <string name="lbl_albums">Álbum</string>
@ -65,9 +64,6 @@
<string name="setting_black_mode_desc">Usar tema negro puro</string> <string name="setting_black_mode_desc">Usar tema negro puro</string>
<string name="set_display">Pantalla</string> <string name="set_display">Pantalla</string>
<string name="set_lib_display">Ítem de biblioteca</string>
<string name="set_color_notif">Ajustar color de notificación</string>
<string name="set_color_notif_desc">Mostrar imagen de álbum en la notificación</string>
<string name="set_show_covers">Mostrar carátula de álbum</string> <string name="set_show_covers">Mostrar carátula de álbum</string>
<string name="set_show_covers_desc">Desactivar para ahorrar uso de memoria</string> <string name="set_show_covers_desc">Desactivar para ahorrar uso de memoria</string>
<string name="set_quality_covers">Ignorar carátulas de MediaStore</string> <string name="set_quality_covers">Ignorar carátulas de MediaStore</string>
@ -106,7 +102,6 @@
<string name="hint_search_library">Busca en tu biblioteca…</string> <string name="hint_search_library">Busca en tu biblioteca…</string>
<!-- Description Namespace | Accessibility Strings --> <!-- Description Namespace | Accessibility Strings -->
<string name="desc_sort">Cambiar el orden de clasificación</string>
<string name="desc_track_number">Pista %d</string> <string name="desc_track_number">Pista %d</string>
<string name="desc_play_pause">Reproducir o Pausar</string> <string name="desc_play_pause">Reproducir o Pausar</string>
@ -125,8 +120,6 @@
<!-- Placeholder Namespace | Placeholder values --> <!-- Placeholder Namespace | Placeholder values -->
<string name="def_genre">Género desconocido</string> <string name="def_genre">Género desconocido</string>
<string name="def_artist">Artista desconocido</string>
<string name="def_album">Álbum desconocido</string>
<string name="def_date">Sin fecha</string> <string name="def_date">Sin fecha</string>
<!-- Color Label namespace | Accent names --> <!-- Color Label namespace | Accent names -->
@ -145,8 +138,8 @@
<string name="clr_yellow">Amarillo</string> <string name="clr_yellow">Amarillo</string>
<string name="clr_orange">Naranja</string> <string name="clr_orange">Naranja</string>
<string name="clr_deep_orange">Naranja Profundo</string> <string name="clr_deep_orange">Naranja Profundo</string>
<string name="clr_label_brown">Café</string> <string name="clr_brown">Café</string>
<string name="clr_label_grey">Gris</string> <string name="clr_grey">Gris</string>
<string name="clr_blue_grey">Azul Gris</string> <string name="clr_blue_grey">Azul Gris</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Réessayer</string> <string name="lbl_retry">Réessayer</string>
<string name="lbl_grant">Accorder</string> <string name="lbl_grant">Accorder</string>
<string name="lbl_library">Bibliothèque</string>
<string name="lbl_genres">Genres</string> <string name="lbl_genres">Genres</string>
<string name="lbl_artists">Artistes</string> <string name="lbl_artists">Artistes</string>
<string name="lbl_albums">Albums</string> <string name="lbl_albums">Albums</string>
@ -48,8 +47,6 @@
<string name="set_theme_night">Sombre</string> <string name="set_theme_night">Sombre</string>
<string name="set_accent">Couleur d\'accentuation</string> <string name="set_accent">Couleur d\'accentuation</string>
<string name="set_lib_display">Objets Bibliothèque</string>
<string name="set_color_notif">Notification colorée</string>
<string name="set_quality_covers">Ignorer le stockage des pochettes</string> <string name="set_quality_covers">Ignorer le stockage des pochettes</string>
<string name="set_audio">Audio</string> <string name="set_audio">Audio</string>
@ -84,8 +81,8 @@
<string name="clr_lime">Vert Citron</string> <string name="clr_lime">Vert Citron</string>
<string name="clr_yellow">Jaune</string> <string name="clr_yellow">Jaune</string>
<string name="clr_orange">Orange</string> <string name="clr_orange">Orange</string>
<string name="clr_label_brown">Brun</string> <string name="clr_brown">Brun</string>
<string name="clr_label_grey">Gris</string> <string name="clr_grey">Gris</string>
<string name="clr_blue_grey">Bleu Gris</string> <string name="clr_blue_grey">Bleu Gris</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -5,7 +5,6 @@
<string name="lbl_grant">अनुदान</string> <string name="lbl_grant">अनुदान</string>
<string name="lbl_artists">कलाकार</string> <string name="lbl_artists">कलाकार</string>
<string name="lbl_library">पुस्तकालय</string>
<string name="lbl_albums">एल्बम</string> <string name="lbl_albums">एल्बम</string>
<string name="lbl_songs">गीत</string> <string name="lbl_songs">गीत</string>
<string name="lbl_all_songs">गीत</string> <string name="lbl_all_songs">गीत</string>
@ -40,8 +39,6 @@
<string name="set_theme_night">स्वचलित</string> <string name="set_theme_night">स्वचलित</string>
<string name="set_accent">एक्सेंट</string> <string name="set_accent">एक्सेंट</string>
<string name="set_color_notif">अधिसूचना को रंग दें</string>
<string name="set_audio">ऑडियो</string> <string name="set_audio">ऑडियो</string>
<string name="set_focus">ऑडियो फोकस</string> <string name="set_focus">ऑडियो फोकस</string>
<string name="set_plug_mgt">हेडसेट प्लग</string> <string name="set_plug_mgt">हेडसेट प्लग</string>

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Újra</string> <string name="lbl_retry">Újra</string>
<string name="lbl_grant">Engedélyezés</string> <string name="lbl_grant">Engedélyezés</string>
<string name="lbl_library">Könyvtár</string>
<string name="lbl_genres">Műfajo</string> <string name="lbl_genres">Műfajo</string>
<string name="lbl_artists">Előadók</string> <string name="lbl_artists">Előadók</string>
<string name="lbl_albums">Albumok</string> <string name="lbl_albums">Albumok</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Sötét</string> <string name="set_theme_night">Sötét</string>
<string name="set_accent">Kiemelés</string> <string name="set_accent">Kiemelés</string>
<string name="set_color_notif">Értesítés színezése</string>
<string name="set_quality_covers">A médiatár albumborítók figyelmen kívül hagyása</string> <string name="set_quality_covers">A médiatár albumborítók figyelmen kívül hagyása</string>
<string name="set_audio">Hang</string> <string name="set_audio">Hang</string>
@ -83,8 +81,8 @@
<string name="clr_lime">Sárgazöld</string> <string name="clr_lime">Sárgazöld</string>
<string name="clr_yellow">Sárga</string> <string name="clr_yellow">Sárga</string>
<string name="clr_orange">Narancs</string> <string name="clr_orange">Narancs</string>
<string name="clr_label_brown">Barna</string> <string name="clr_brown">Barna</string>
<string name="clr_label_grey">Szürke</string> <string name="clr_grey">Szürke</string>
<string name="clr_blue_grey">Kékszürke</string> <string name="clr_blue_grey">Kékszürke</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Ulangi</string> <string name="lbl_retry">Ulangi</string>
<string name="lbl_grant">Izinkan</string> <string name="lbl_grant">Izinkan</string>
<string name="lbl_library">Pustaka</string>
<string name="lbl_genres">Aliran</string> <string name="lbl_genres">Aliran</string>
<string name="lbl_artists">Artis</string> <string name="lbl_artists">Artis</string>
<string name="lbl_albums">Album</string> <string name="lbl_albums">Album</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Gelap</string> <string name="set_theme_night">Gelap</string>
<string name="set_accent">Aksen</string> <string name="set_accent">Aksen</string>
<string name="set_color_notif">Warnai Notifikasi</string>
<string name="set_quality_covers">Abaikan sampul-sampul pada Media Penyimpanan</string> <string name="set_quality_covers">Abaikan sampul-sampul pada Media Penyimpanan</string>
<string name="set_audio">Audio</string> <string name="set_audio">Audio</string>

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Riprova</string> <string name="lbl_retry">Riprova</string>
<string name="lbl_grant">Permetti</string> <string name="lbl_grant">Permetti</string>
<string name="lbl_library">Libreria</string>
<string name="lbl_genres">Generi</string> <string name="lbl_genres">Generi</string>
<string name="lbl_artists">Artisti</string> <string name="lbl_artists">Artisti</string>
<string name="lbl_albums">Albums</string> <string name="lbl_albums">Albums</string>
@ -48,7 +47,6 @@
<string name="set_theme_night">Scuro</string> <string name="set_theme_night">Scuro</string>
<string name="set_accent">Accento</string> <string name="set_accent">Accento</string>
<string name="set_color_notif">Colora notifica</string>
<string name="set_quality_covers">Ignora le copertine del Media Store</string> <string name="set_quality_covers">Ignora le copertine del Media Store</string>
<string name="set_audio">Audio</string> <string name="set_audio">Audio</string>
@ -84,8 +82,8 @@
<string name="clr_lime">Verde Giallo</string> <string name="clr_lime">Verde Giallo</string>
<string name="clr_yellow">Giallo</string> <string name="clr_yellow">Giallo</string>
<string name="clr_orange">Arancio</string> <string name="clr_orange">Arancio</string>
<string name="clr_label_brown">Bruno</string> <string name="clr_brown">Bruno</string>
<string name="clr_label_grey">Grigio</string> <string name="clr_grey">Grigio</string>
<string name="clr_blue_grey">Azzurro Grigio</string> <string name="clr_blue_grey">Azzurro Grigio</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">재시도</string> <string name="lbl_retry">재시도</string>
<string name="lbl_grant">허가</string> <string name="lbl_grant">허가</string>
<string name="lbl_library">보관함</string>
<string name="lbl_genres">장르</string> <string name="lbl_genres">장르</string>
<string name="lbl_artists">아티스트</string> <string name="lbl_artists">아티스트</string>
<string name="lbl_albums">앨범</string> <string name="lbl_albums">앨범</string>
@ -46,7 +45,6 @@
<string name="set_theme_night">어두운 테마</string> <string name="set_theme_night">어두운 테마</string>
<string name="set_accent">강조</string> <string name="set_accent">강조</string>
<string name="set_color_notif">색상화된 알림</string>
<string name="set_quality_covers">미디어 스토어 앨범 커버 무시</string> <string name="set_quality_covers">미디어 스토어 앨범 커버 무시</string>
<string name="set_audio">오디오</string> <string name="set_audio">오디오</string>

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Android 12 configuration -->
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V27">
<!-- Make our splash drawable only the foreground -->
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<!--
Theme.Material3.DayNight doesn't actually apply dynamic colors by default. No.
You have to apply a T H E M E O V E R L A Y for them to work. Except the ThemeOverlay
causes appbars to become a completely different color for basically no reason! Guess
we have to manually copy paste these values into our V31 styles instead!
Why do I keep developing for this platform why do I keep developing for this platform why
-->
<!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_dark_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_dark_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item>
<item name="colorError">@color/m3_sys_color_dark_error</item>
<item name="colorOnError">@color/m3_sys_color_dark_on_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_dark_error_container</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_dark_on_error_container</item>
<!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorSecondary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiary">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorHint">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_dark_default_color_primary_text</item>
</style>
</resources>

View file

@ -1,29 +1,118 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="surface">#202124</color> <color name="surface">#1f1f1f</color>
<color name="control">#ffffff</color> <color name="control">#ffffff</color>
<color name="nav_bar">#01151515</color> <color name="nav_bar">#01151515</color>
<!-- <!--
Base color set derived from Music Player GO. Each accent's color roles.
https://github.com/enricocid/Music-Player-GO Note that some accents might have different tones used for legibility. Those are not errors.
--> -->
<color name="red">#ef9a9a</color> <color name="red_primary">@color/red_80</color>
<color name="pink">#f48fb1</color> <color name="red_on_primary">@color/red_20</color>
<color name="purple">#ce93d8</color> <color name="red_primary_inverse">@color/red_40</color>
<color name="deep_purple">#b39ddb</color> <color name="red_primary_container">@color/red_30</color>
<color name="indigo">#9fa8da</color> <color name="red_on_primary_container">@color/red_90</color>
<color name="blue">#90caf9</color>
<color name="light_blue">#81d4fa</color> <color name="pink_primary">@color/pink_80</color>
<color name="cyan">#80deea</color> <color name="pink_on_primary">@color/pink_20</color>
<color name="teal">#80cbc4</color> <color name="pink_primary_inverse">@color/pink_40</color>
<color name="green">#a5d6a7</color> <color name="pink_primary_container">@color/pink_30</color>
<color name="light_green">#c5e1a5</color> <color name="pink_on_primary_container">@color/pink_90</color>
<color name="lime">#e6ee9c</color>
<color name="yellow">#ffe082</color> <color name="purple_primary">@color/purple_80</color>
<color name="orange">#ffcc80</color> <color name="purple_on_primary">@color/purple_20</color>
<color name="deep_orange">#ffab91</color> <color name="purple_primary_inverse">@color/purple_40</color>
<color name="brown">#bcaaa4</color> <color name="purple_primary_container">@color/purple_30</color>
<color name="grey">#cfcfcf</color> <color name="purple_on_primary_container">@color/purple_90</color>
<color name="blue_grey">#b0bec5</color>
<color name="deep_purple_primary">@color/deep_purple_80</color>
<color name="deep_purple_on_primary">@color/deep_purple_20</color>
<color name="deep_purple_primary_inverse">@color/deep_purple_40</color>
<color name="deep_purple_primary_container">@color/deep_purple_30</color>
<color name="deep_purple_on_primary_container">@color/deep_purple_90</color>
<color name="indigo_primary">@color/indigo_80</color>
<color name="indigo_on_primary">@color/indigo_20</color>
<color name="indigo_primary_inverse">@color/indigo_40</color>
<color name="indigo_primary_container">@color/indigo_30</color>
<color name="indigo_on_primary_container">@color/indigo_90</color>
<color name="blue_primary">@color/blue_80</color>
<color name="blue_on_primary">@color/blue_20</color>
<color name="blue_primary_inverse">@color/blue_40</color>
<color name="blue_primary_container">@color/blue_30</color>
<color name="blue_on_primary_container">@color/blue_90</color>
<color name="light_blue_primary">@color/light_blue_80</color>
<color name="light_blue_on_primary">@color/light_blue_20</color>
<color name="light_blue_primary_inverse">@color/light_blue_40</color>
<color name="light_blue_primary_container">@color/light_blue_30</color>
<color name="light_blue_on_primary_container">@color/light_blue_90</color>
<color name="cyan_primary">@color/cyan_80</color>
<color name="cyan_on_primary">@color/cyan_20</color>
<color name="cyan_primary_inverse">@color/cyan_40</color>
<color name="cyan_primary_container">@color/cyan_30</color>
<color name="cyan_on_primary_container">@color/cyan_90</color>
<color name="teal_primary">@color/teal_80</color>
<color name="teal_on_primary">@color/teal_20</color>
<color name="teal_primary_inverse">@color/teal_40</color>
<color name="teal_primary_container">@color/teal_30</color>
<color name="teal_on_primary_container">@color/teal_90</color>
<color name="green_primary">@color/green_80</color>
<color name="green_on_primary">@color/green_20</color>
<color name="green_primary_inverse">@color/green_40</color>
<color name="green_primary_container">@color/green_30</color>
<color name="green_on_primary_container">@color/green_90</color>
<color name="light_green_primary">@color/light_green_80</color>
<color name="light_green_on_primary">@color/light_green_20</color>
<color name="light_green_primary_inverse">@color/light_green_40</color>
<color name="light_green_primary_container">@color/light_green_30</color>
<color name="light_green_on_primary_container">@color/light_green_90</color>
<color name="lime_primary">@color/lime_80</color>
<color name="lime_on_primary">@color/lime_20</color>
<color name="lime_primary_inverse">@color/lime_40</color>
<color name="lime_primary_container">@color/lime_30</color>
<color name="lime_on_primary_container">@color/lime_90</color>
<color name="yellow_primary">@color/yellow_80</color>
<color name="yellow_on_primary">@color/yellow_20</color>
<color name="yellow_primary_inverse">@color/yellow_40</color>
<color name="yellow_primary_container">@color/yellow_30</color>
<color name="yellow_on_primary_container">@color/yellow_90</color>
<color name="orange_primary">@color/orange_80</color>
<color name="orange_on_primary">@color/orange_20</color>
<color name="orange_primary_inverse">@color/orange_40</color>
<color name="orange_primary_container">@color/orange_30</color>
<color name="orange_on_primary_container">@color/orange_90</color>
<color name="deep_orange_primary">@color/deep_orange_80</color>
<color name="deep_orange_on_primary">@color/deep_orange_20</color>
<color name="deep_orange_primary_inverse">@color/deep_orange_40</color>
<color name="deep_orange_primary_container">@color/deep_orange_30</color>
<color name="deep_orange_on_primary_container">@color/deep_orange_90</color>
<color name="brown_primary">@color/brown_80</color>
<color name="brown_on_primary">@color/brown_20</color>
<color name="brown_primary_inverse">@color/brown_40</color>
<color name="brown_primary_container">@color/brown_30</color>
<color name="brown_on_primary_container">@color/brown_90</color>
<color name="grey_primary">@color/grey_80</color>
<color name="grey_on_primary">@color/grey_20</color>
<color name="grey_primary_inverse">@color/grey_40</color>
<color name="grey_primary_container">@color/grey_30</color>
<color name="grey_on_primary_container">@color/grey_90</color>
<color name="blue_grey_primary">@color/blue_grey_80</color>
<color name="blue_grey_on_primary">@color/blue_grey_20</color>
<color name="blue_grey_primary_inverse">@color/blue_grey_40</color>
<color name="blue_grey_primary_container">@color/blue_grey_30</color>
<color name="blue_grey_on_primary_container">@color/blue_grey_90</color>
</resources> </resources>

View file

@ -8,7 +8,6 @@
<string name="lbl_retry">Opnieuw proberen</string> <string name="lbl_retry">Opnieuw proberen</string>
<string name="lbl_grant">Toestaan</string> <string name="lbl_grant">Toestaan</string>
<string name="lbl_library">Bibliotheek</string>
<string name="lbl_genres">Genres</string> <string name="lbl_genres">Genres</string>
<string name="lbl_artists">Artiesten</string> <string name="lbl_artists">Artiesten</string>
<string name="lbl_albums">Albums</string> <string name="lbl_albums">Albums</string>
@ -63,9 +62,6 @@
<string name="set_accent">Accent</string> <string name="set_accent">Accent</string>
<string name="set_display">Scherm</string> <string name="set_display">Scherm</string>
<string name="set_lib_display">Bibliotheek Items</string>
<string name="set_color_notif">Notificatie kleur aanpassen</string>
<string name="set_color_notif_desc">Toon album art op notification</string>
<string name="set_show_covers">Toon albumhoezen</string> <string name="set_show_covers">Toon albumhoezen</string>
<string name="set_show_covers_desc">Schakel uit om geheugengebruik te besparen</string> <string name="set_show_covers_desc">Schakel uit om geheugengebruik te besparen</string>
<string name="set_quality_covers">Negeer Mediaopslag illustraties</string> <string name="set_quality_covers">Negeer Mediaopslag illustraties</string>
@ -104,7 +100,6 @@
<string name="hint_search_library">Zoek in uw bibliotheek…</string> <string name="hint_search_library">Zoek in uw bibliotheek…</string>
<!-- Description Namespace | Accessibility Strings --> <!-- Description Namespace | Accessibility Strings -->
<string name="desc_sort">Sorteervolgorde wijzigen</string>
<string name="desc_track_number">Nummer %d</string> <string name="desc_track_number">Nummer %d</string>
<string name="desc_play_pause">Afspelen/Pauzeren</string> <string name="desc_play_pause">Afspelen/Pauzeren</string>
@ -123,8 +118,6 @@
<!-- Placeholder Namespace | Placeholder values --> <!-- Placeholder Namespace | Placeholder values -->
<string name="def_genre">Onbekend Genre</string> <string name="def_genre">Onbekend Genre</string>
<string name="def_artist">Onbekend Artist</string>
<string name="def_album">Onbekend Album</string>
<string name="def_date">Geen datum </string> <string name="def_date">Geen datum </string>
<!-- Color Label namespace | Accent names --> <!-- Color Label namespace | Accent names -->
@ -143,8 +136,8 @@
<string name="clr_yellow">Geel</string> <string name="clr_yellow">Geel</string>
<string name="clr_orange">Oranje</string> <string name="clr_orange">Oranje</string>
<string name="clr_deep_orange">Dieporanje</string> <string name="clr_deep_orange">Dieporanje</string>
<string name="clr_label_brown">Bruin</string> <string name="clr_brown">Bruin</string>
<string name="clr_label_grey">Grijis</string> <string name="clr_grey">Grijis</string>
<string name="clr_blue_grey">Blauwgrijis</string> <string name="clr_blue_grey">Blauwgrijis</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Ponów</string> <string name="lbl_retry">Ponów</string>
<string name="lbl_grant">Przyznaj</string> <string name="lbl_grant">Przyznaj</string>
<string name="lbl_library">Biblioteka</string>
<string name="lbl_genres">Gatunki</string> <string name="lbl_genres">Gatunki</string>
<string name="lbl_artists">Wykonawcy</string> <string name="lbl_artists">Wykonawcy</string>
<string name="lbl_albums">Albumy</string> <string name="lbl_albums">Albumy</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Ciemny</string> <string name="set_theme_night">Ciemny</string>
<string name="set_accent">Odcień koloru</string> <string name="set_accent">Odcień koloru</string>
<string name="set_color_notif">Pokolorowanie powiadomienia</string>
<string name="set_quality_covers">Ignoruj okładki z Media Store</string> <string name="set_quality_covers">Ignoruj okładki z Media Store</string>
<string name="set_audio">Dźwięk</string> <string name="set_audio">Dźwięk</string>
@ -81,8 +79,8 @@
<string name="clr_lime">Żółtyzielony</string> <string name="clr_lime">Żółtyzielony</string>
<string name="clr_yellow">Żółty</string> <string name="clr_yellow">Żółty</string>
<string name="clr_orange">Pomarańczowy</string> <string name="clr_orange">Pomarańczowy</string>
<string name="clr_label_brown">Brązowy</string> <string name="clr_brown">Brązowy</string>
<string name="clr_label_grey">Szary</string> <string name="clr_grey">Szary</string>
<string name="clr_blue_grey">Błękitszary</string> <string name="clr_blue_grey">Błękitszary</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Tentar novamente</string> <string name="lbl_retry">Tentar novamente</string>
<string name="lbl_grant">Confirmar</string> <string name="lbl_grant">Confirmar</string>
<string name="lbl_library">Biblioteca</string>
<string name="lbl_genres">Gêneros</string> <string name="lbl_genres">Gêneros</string>
<string name="lbl_artists">Artistas</string> <string name="lbl_artists">Artistas</string>
<string name="lbl_albums">Álbuns</string> <string name="lbl_albums">Álbuns</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Escuro</string> <string name="set_theme_night">Escuro</string>
<string name="set_accent">Cor de destaque</string> <string name="set_accent">Cor de destaque</string>
<string name="set_color_notif">Colorir notificação</string>
<string name="set_quality_covers">Ignorar capas Media Store</string> <string name="set_quality_covers">Ignorar capas Media Store</string>
<string name="set_audio">Áudio</string> <string name="set_audio">Áudio</string>
@ -82,8 +80,8 @@
<string name="clr_lime">Verde-amarelo</string> <string name="clr_lime">Verde-amarelo</string>
<string name="clr_yellow">Amarelo</string> <string name="clr_yellow">Amarelo</string>
<string name="clr_orange">Laranja</string> <string name="clr_orange">Laranja</string>
<string name="clr_label_brown">Moreno</string> <string name="clr_brown">Moreno</string>
<string name="clr_label_grey">Grisalho</string> <string name="clr_grey">Grisalho</string>
<string name="clr_blue_grey">Azul-grisalho</string> <string name="clr_blue_grey">Azul-grisalho</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Tentar novamente</string> <string name="lbl_retry">Tentar novamente</string>
<string name="lbl_grant">Permitir</string> <string name="lbl_grant">Permitir</string>
<string name="lbl_library">Biblioteca</string>
<string name="lbl_genres">Gêneros</string> <string name="lbl_genres">Gêneros</string>
<string name="lbl_artists">Artistas</string> <string name="lbl_artists">Artistas</string>
<string name="lbl_albums">Álbuns</string> <string name="lbl_albums">Álbuns</string>
@ -48,7 +47,6 @@
<string name="set_theme_auto">Automático</string> <string name="set_theme_auto">Automático</string>
<string name="set_accent">Cor de realce</string> <string name="set_accent">Cor de realce</string>
<string name="set_color_notif">Colorir notificação</string>
<string name="set_quality_covers">Ignorar capas Media Store</string> <string name="set_quality_covers">Ignorar capas Media Store</string>
<string name="set_audio">Áudio</string> <string name="set_audio">Áudio</string>
@ -83,8 +81,8 @@
<string name="clr_lime">Verde-amarelo</string> <string name="clr_lime">Verde-amarelo</string>
<string name="clr_yellow">Amarelo</string> <string name="clr_yellow">Amarelo</string>
<string name="clr_orange">Laranja</string> <string name="clr_orange">Laranja</string>
<string name="clr_label_brown">Moreno</string> <string name="clr_brown">Moreno</string>
<string name="clr_label_grey">Grisalho</string> <string name="clr_grey">Grisalho</string>
<string name="clr_blue_grey">Azul-grisalho</string> <string name="clr_blue_grey">Azul-grisalho</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Reîncearcă</string> <string name="lbl_retry">Reîncearcă</string>
<string name="lbl_grant">Permiteți</string> <string name="lbl_grant">Permiteți</string>
<string name="lbl_library">Bibliotecă</string>
<string name="lbl_genres">Genuri</string> <string name="lbl_genres">Genuri</string>
<string name="lbl_artists">Artiști</string> <string name="lbl_artists">Artiști</string>
<string name="lbl_albums">Albume</string> <string name="lbl_albums">Albume</string>
@ -48,7 +47,6 @@
<string name="set_theme_night">Întunecat</string> <string name="set_theme_night">Întunecat</string>
<string name="set_accent">Culoare accentuată</string> <string name="set_accent">Culoare accentuată</string>
<string name="set_color_notif">Colorează notificarea</string>
<string name="set_quality_covers">Ignoră coperțile Media Store</string> <string name="set_quality_covers">Ignoră coperțile Media Store</string>
<string name="set_audio">Audio</string> <string name="set_audio">Audio</string>
@ -82,8 +80,8 @@
<string name="clr_lime">Verde Galben</string> <string name="clr_lime">Verde Galben</string>
<string name="clr_yellow">Galben</string> <string name="clr_yellow">Galben</string>
<string name="clr_orange">Portocaliu</string> <string name="clr_orange">Portocaliu</string>
<string name="clr_label_brown">Brun</string> <string name="clr_brown">Brun</string>
<string name="clr_label_grey">Gri</string> <string name="clr_grey">Gri</string>
<string name="clr_blue_grey">Albastru Gri</string> <string name="clr_blue_grey">Albastru Gri</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Повторить попытку</string> <string name="lbl_retry">Повторить попытку</string>
<string name="lbl_grant">Разрешить</string> <string name="lbl_grant">Разрешить</string>
<string name="lbl_library">Библиотека</string>
<string name="lbl_genres">Жанры</string> <string name="lbl_genres">Жанры</string>
<string name="lbl_artists">Исполнители</string> <string name="lbl_artists">Исполнители</string>
<string name="lbl_albums">Альбомы</string> <string name="lbl_albums">Альбомы</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Темная</string> <string name="set_theme_night">Темная</string>
<string name="set_accent">Акцент</string> <string name="set_accent">Акцент</string>
<string name="set_color_notif">Цветное уведомление</string>
<string name="set_quality_covers">Игнорировать хранилище обложек альбомов</string> <string name="set_quality_covers">Игнорировать хранилище обложек альбомов</string>
<string name="set_audio">Аудио</string> <string name="set_audio">Аудио</string>
@ -80,7 +78,7 @@
<string name="clr_yellow">Оранжевый</string> <string name="clr_yellow">Оранжевый</string>
<string name="clr_light_green">Жёлтый</string> <string name="clr_light_green">Жёлтый</string>
<string name="clr_orange">Коричневый</string> <string name="clr_orange">Коричневый</string>
<string name="clr_label_brown">Седой</string> <string name="clr_brown">Седой</string>
<string name="clr_blue_grey">Нейтральный</string> <string name="clr_blue_grey">Нейтральный</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Yeniden dene</string> <string name="lbl_retry">Yeniden dene</string>
<string name="lbl_grant">İzin</string> <string name="lbl_grant">İzin</string>
<string name="lbl_library">Kitaplık</string>
<string name="lbl_genres">Türler</string> <string name="lbl_genres">Türler</string>
<string name="lbl_artists">Sanatçılar</string> <string name="lbl_artists">Sanatçılar</string>
<string name="lbl_albums">Albümler</string> <string name="lbl_albums">Albümler</string>
@ -47,7 +46,6 @@
<string name="set_theme_night">Koyu</string> <string name="set_theme_night">Koyu</string>
<string name="set_accent">Ana Renk</string> <string name="set_accent">Ana Renk</string>
<string name="set_color_notif">Bildirimi renklendir</string>
<string name="set_quality_covers">Medya Deposu albüm kapağını yoksay</string> <string name="set_quality_covers">Medya Deposu albüm kapağını yoksay</string>
<string name="set_audio">Ses</string> <string name="set_audio">Ses</string>

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">Повторити спробу</string> <string name="lbl_retry">Повторити спробу</string>
<string name="lbl_grant">Надати</string> <string name="lbl_grant">Надати</string>
<string name="lbl_library">Бібліотека</string>
<string name="lbl_genres">Жанри</string> <string name="lbl_genres">Жанри</string>
<string name="lbl_artists">Виконавці</string> <string name="lbl_artists">Виконавці</string>
<string name="lbl_albums">Альбоми</string> <string name="lbl_albums">Альбоми</string>

View file

@ -1,12 +1,65 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Android 12 Splashscreen config --> <!-- Android 12 configuration -->
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V27"> <style name="Theme.Auxio.V31" parent="Theme.Auxio.V27">
<!-- Make our splash drawable only the foreground -->
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<!--
Theme.Material3.DayNight doesn't actually apply dynamic colors by default. No.
You have to apply a T H E M E O V E R L A Y for them to work. Except the ThemeOverlay
causes appbars to become a completely different color for basically no reason! Guess
we have to manually ctrl-c ctrl-v these values into our V31 styles instead!
Why do I keep developing for this platform why do I keep developing for this platform why
-->
<!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item>
<item name="colorError">@color/m3_sys_color_light_error</item>
<item name="colorOnError">@color/m3_sys_color_light_on_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_light_error_container</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_light_on_error_container</item>
<!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorSecondary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorSecondaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorTertiary">@color/m3_dynamic_default_color_secondary_text</item>
<item name="android:textColorTertiaryInverse">@color/m3_dynamic_dark_default_color_secondary_text</item>
<item name="android:textColorPrimaryDisableOnly">@color/m3_dynamic_primary_text_disable_only</item>
<item name="android:textColorPrimaryInverseDisableOnly">@color/m3_dynamic_dark_primary_text_disable_only</item>
<item name="android:textColorHint">@color/m3_dynamic_hint_foreground</item>
<item name="android:textColorHintInverse">@color/m3_dynamic_dark_hint_foreground</item>
<item name="android:textColorHighlight">@color/m3_dynamic_highlighted_text</item>
<item name="android:textColorHighlightInverse">@color/m3_dynamic_dark_highlighted_text</item>
<item name="android:textColorAlertDialogListItem">@color/m3_dynamic_default_color_primary_text</item>
</style> </style>
<style name="Theme.Widget" parent="@android:style/Theme.DeviceDefault.DayNight"> <style name="Theme.Widget" parent="@android:style/Theme.DeviceDefault.DayNight">
<item name="colorAccent">?android:attr/colorAccent</item> <item name="colorPrimary">?android:attr/colorAccent</item>
<item name="colorSecondary">?android:attr/colorAccent</item> <item name="colorSecondary">?android:attr/colorAccent</item>
<item name="colorControlNormal">?android:attr/colorControlNormal</item> <item name="colorControlNormal">?android:attr/colorControlNormal</item>
<item name="colorControlHighlight">?android:attr/colorControlHighlight</item> <item name="colorControlHighlight">?android:attr/colorControlHighlight</item>

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">重试</string> <string name="lbl_retry">重试</string>
<string name="lbl_grant">授予</string> <string name="lbl_grant">授予</string>
<string name="lbl_library">媒体库</string>
<string name="lbl_genres">流派</string> <string name="lbl_genres">流派</string>
<string name="lbl_artists">艺术家</string> <string name="lbl_artists">艺术家</string>
<string name="lbl_albums">专辑</string> <string name="lbl_albums">专辑</string>

View file

@ -4,7 +4,6 @@
<string name="lbl_retry">重試</string> <string name="lbl_retry">重試</string>
<string name="lbl_grant">取得</string> <string name="lbl_grant">取得</string>
<string name="lbl_library">音樂庫</string>
<string name="lbl_genres">類型</string> <string name="lbl_genres">類型</string>
<string name="lbl_artists">演出者</string> <string name="lbl_artists">演出者</string>
<string name="lbl_albums">專輯</string> <string name="lbl_albums">專輯</string>
@ -46,7 +45,6 @@
<string name="set_theme_night">深色</string> <string name="set_theme_night">深色</string>
<string name="set_accent">自定義</string> <string name="set_accent">自定義</string>
<string name="set_color_notif">彩色通知</string>
<string name="set_quality_covers">忽略音訊檔內嵌的專輯封面</string> <string name="set_quality_covers">忽略音訊檔內嵌的專輯封面</string>
<string name="set_audio">音訊</string> <string name="set_audio">音訊</string>

View file

@ -12,18 +12,6 @@
<item>@integer/theme_dark</item> <item>@integer/theme_dark</item>
</integer-array> </integer-array>
<string-array name="entries_lib_display">
<item>@string/lbl_genres</item>
<item>@string/lbl_artists</item>
<item>@string/lbl_albums</item>
</string-array>
<integer-array name="values_lib_display">
<item>@integer/display_genre</item>
<item>@integer/display_artist</item>
<item>@integer/display_album</item>
</integer-array>
<array name="entries_song_playback_mode"> <array name="entries_song_playback_mode">
<item>@string/lbl_play_all</item> <item>@string/lbl_play_all</item>
<item>@string/lbl_play_artist</item> <item>@string/lbl_play_artist</item>

View file

@ -5,25 +5,114 @@
<color name="nav_bar">#01fafafa</color> <color name="nav_bar">#01fafafa</color>
<!-- <!--
Base color set derived from Music Player GO. Each accent's color roles.
https://github.com/enricocid/Music-Player-GO Note that some accents might have different tones used for legibility. Those are not errors.
--> -->
<color name="red">#f44336</color> <color name="red_primary">@color/red_40</color>
<color name="pink">#e91e63</color> <color name="red_on_primary">@color/red_100</color>
<color name="purple">#9c27b0</color> <color name="red_primary_inverse">@color/red_80</color>
<color name="deep_purple">#673ab7</color> <color name="red_primary_container">@color/red_90</color>
<color name="indigo">#3f51b5</color> <color name="red_on_primary_container">@color/red_10</color>
<color name="blue">#2196f3</color>
<color name="light_blue">#03a9f4</color> <color name="pink_primary">@color/pink_40</color>
<color name="cyan">#00bcd4</color> <color name="pink_on_primary">@color/pink_100</color>
<color name="teal">#009688</color> <color name="pink_primary_inverse">@color/pink_80</color>
<color name="green">#4caf50</color> <color name="pink_primary_container">@color/pink_90</color>
<color name="light_green">#8bc34a</color> <color name="pink_on_primary_container">@color/pink_10</color>
<color name="lime">#B7C534</color>
<color name="yellow">#E4AC00</color> <color name="purple_primary">@color/purple_40</color>
<color name="orange">#E68A01</color> <color name="purple_on_primary">@color/purple_100</color>
<color name="deep_orange">#ff5722</color> <color name="purple_primary_inverse">@color/purple_80</color>
<color name="brown">#795548</color> <color name="purple_primary_container">@color/purple_90</color>
<color name="grey">#808080</color> <color name="purple_on_primary_container">@color/purple_10</color>
<color name="blue_grey">#607d8b</color>
<color name="deep_purple_primary">@color/deep_purple_40</color>
<color name="deep_purple_on_primary">@color/deep_purple_100</color>
<color name="deep_purple_primary_inverse">@color/deep_purple_80</color>
<color name="deep_purple_primary_container">@color/deep_purple_90</color>
<color name="deep_purple_on_primary_container">@color/deep_purple_10</color>
<color name="indigo_primary">@color/indigo_40</color>
<color name="indigo_on_primary">@color/indigo_100</color>
<color name="indigo_primary_inverse">@color/indigo_80</color>
<color name="indigo_primary_container">@color/indigo_90</color>
<color name="indigo_on_primary_container">@color/indigo_10</color>
<color name="blue_primary">@color/blue_40</color>
<color name="blue_on_primary">@color/blue_100</color>
<color name="blue_primary_inverse">@color/blue_80</color>
<color name="blue_primary_container">@color/blue_90</color>
<color name="blue_on_primary_container">@color/blue_10</color>
<color name="light_blue_primary">@color/light_blue_40</color>
<color name="light_blue_on_primary">@color/light_blue_100</color>
<color name="light_blue_primary_inverse">@color/light_blue_80</color>
<color name="light_blue_primary_container">@color/light_blue_90</color>
<color name="light_blue_on_primary_container">@color/light_blue_10</color>
<color name="cyan_primary">@color/cyan_40</color>
<color name="cyan_on_primary">@color/cyan_100</color>
<color name="cyan_primary_inverse">@color/cyan_80</color>
<color name="cyan_primary_container">@color/cyan_90</color>
<color name="cyan_on_primary_container">@color/cyan_10</color>
<color name="teal_primary">@color/teal_40</color>
<color name="teal_on_primary">@color/teal_100</color>
<color name="teal_primary_inverse">@color/teal_80</color>
<color name="teal_primary_container">@color/teal_90</color>
<color name="teal_on_primary_container">@color/teal_10</color>
<color name="green_primary">@color/green_40</color>
<color name="green_on_primary">@color/green_100</color>
<color name="green_primary_inverse">@color/green_80</color>
<color name="green_primary_container">@color/green_90</color>
<color name="green_on_primary_container">@color/green_10</color>
<color name="light_green_primary">@color/light_green_40</color>
<color name="light_green_on_primary">@color/light_green_100</color>
<color name="light_green_primary_inverse">@color/light_green_80</color>
<color name="light_green_primary_container">@color/light_green_90</color>
<color name="light_green_on_primary_container">@color/light_green_10</color>
<color name="lime_primary">@color/lime_40</color>
<color name="lime_on_primary">@color/lime_100</color>
<color name="lime_primary_inverse">@color/lime_80</color>
<color name="lime_primary_container">@color/lime_90</color>
<color name="lime_on_primary_container">@color/lime_10</color>
<color name="yellow_primary">@color/yellow_40</color>
<color name="yellow_on_primary">@color/yellow_100</color>
<color name="yellow_primary_inverse">@color/yellow_80</color>
<color name="yellow_primary_container">@color/yellow_90</color>
<color name="yellow_on_primary_container">@color/yellow_10</color>
<color name="orange_primary">@color/orange_40</color>
<color name="orange_on_primary">@color/orange_100</color>
<color name="orange_primary_inverse">@color/orange_80</color>
<color name="orange_primary_container">@color/orange_90</color>
<color name="orange_on_primary_container">@color/orange_10</color>
<color name="deep_orange_primary">@color/deep_orange_40</color>
<color name="deep_orange_on_primary">@color/deep_orange_100</color>
<color name="deep_orange_primary_inverse">@color/deep_orange_80</color>
<color name="deep_orange_primary_container">@color/deep_orange_90</color>
<color name="deep_orange_on_primary_container">@color/deep_orange_10</color>
<color name="brown_primary">@color/brown_40</color>
<color name="brown_on_primary">@color/brown_100</color>
<color name="brown_primary_inverse">@color/brown_80</color>
<color name="brown_primary_container">@color/brown_90</color>
<color name="brown_on_primary_container">@color/brown_10</color>
<color name="grey_primary">@color/grey_40</color>
<color name="grey_on_primary">@color/grey_100</color>
<color name="grey_primary_inverse">@color/grey_80</color>
<color name="grey_primary_container">@color/grey_70</color>
<color name="grey_on_primary_container">@color/grey_10</color>
<color name="blue_grey_primary">@color/blue_grey_40</color>
<color name="blue_grey_on_primary">@color/blue_grey_100</color>
<color name="blue_grey_primary_inverse">@color/blue_grey_80</color>
<color name="blue_grey_primary_container">@color/blue_grey_90</color>
<color name="blue_grey_on_primary_container">@color/blue_grey_10</color>
</resources> </resources>

View file

@ -34,7 +34,6 @@
<!-- Misc --> <!-- Misc -->
<dimen name="elevation_small">2dp</dimen> <dimen name="elevation_small">2dp</dimen>
<dimen name="elevation_normal">4dp</dimen> <dimen name="elevation_normal">4dp</dimen>
<dimen name="elevation_large">8dp</dimen>
<dimen name="offset_thumb">4dp</dimen> <dimen name="offset_thumb">4dp</dimen>
</resources> </resources>

View file

@ -4,10 +4,6 @@
<integer name="theme_light">1</integer> <integer name="theme_light">1</integer>
<integer name="theme_dark">2</integer> <integer name="theme_dark">2</integer>
<integer name="display_genre">0xA108</integer>
<integer name="display_artist">0xA109</integer>
<integer name="display_album">0xA10A</integer>
<integer name="play_mode_genre">0xA103</integer> <integer name="play_mode_genre">0xA103</integer>
<integer name="play_mode_artist">0xA104</integer> <integer name="play_mode_artist">0xA104</integer>
<integer name="play_mode_album">0xA105</integer> <integer name="play_mode_album">0xA105</integer>

View file

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--
Each accent's color palette.
Each color here follows the Material3 notation for describing shades, with 0 being black and
100 being white.
-->
<color name="red_10">#B71C1C</color>
<color name="red_20">#C62828</color>
<color name="red_30">#D32F2F</color>
<color name="red_40">#E53935</color>
<color name="red_80">#EF9A9A</color>
<color name="red_90">#FFCDD2</color>
<color name="red_100">#FFFFFF</color>
<color name="pink_10">#880E4F</color>
<color name="pink_20">#AD1457</color>
<color name="pink_30">#C2185B</color>
<color name="pink_40">#D81B60</color>
<color name="pink_80">#F48FB1</color>
<color name="pink_90">#F8BBD0</color>
<color name="pink_100">#FFFFFF</color>
<color name="purple_10">#4A148C</color>
<color name="purple_20">#6A1B9A</color>
<color name="purple_30">#7B1FA2</color>
<color name="purple_40">#8E24AA</color>
<color name="purple_80">#CE93D8</color>
<color name="purple_90">#F8BBD0</color>
<color name="purple_100">#E1BEE7</color>
<color name="deep_purple_10">#311B92</color>
<color name="deep_purple_20">#4527A0</color>
<color name="deep_purple_30">#512DA8</color>
<color name="deep_purple_40">#5E35B1</color>
<color name="deep_purple_80">#B39DDB</color>
<color name="deep_purple_90">#D1C4E9</color>
<color name="deep_purple_100">#FFFFFF</color>
<color name="indigo_10">#1A237E</color>
<color name="indigo_20">#283593</color>
<color name="indigo_30">#303F9F</color>
<color name="indigo_40">#3949AB</color>
<color name="indigo_80">#9FA8DA</color>
<color name="indigo_90">#C5CAE9</color>
<color name="indigo_100">#FFFFFF</color>
<color name="blue_10">#0D47A1</color>
<color name="blue_20">#1565C0</color>
<color name="blue_30">#1976D2</color>
<color name="blue_40">#1E88E5</color>
<color name="blue_80">#90CAF9</color>
<color name="blue_90">#BBDEFB</color>
<color name="blue_100">#FFFFFF</color>
<color name="light_blue_10">#01579B</color>
<color name="light_blue_20">#0277BD</color>
<color name="light_blue_30">#0288D1</color>
<color name="light_blue_40">#039BE5</color>
<color name="light_blue_80">#81D4FA</color>
<color name="light_blue_90">#B3E5FC</color>
<color name="light_blue_100">#FFFFFF</color>
<color name="cyan_10">#006064</color>
<color name="cyan_20">#00838F</color>
<color name="cyan_30">#0097A7</color>
<color name="cyan_40">#00ACC1</color>
<color name="cyan_80">#80DEEA</color>
<color name="cyan_90">#B2EBF2</color>
<color name="cyan_100">#FFFFFF</color>
<color name="teal_10">#004D40</color>
<color name="teal_20">#00695C</color>
<color name="teal_30">#00796B</color>
<color name="teal_40">#00897B</color>
<color name="teal_80">#80CBC4</color>
<color name="teal_90">#B2DFDB</color>
<color name="teal_100">#FFFFFF</color>
<color name="green_10">#1B5E20</color>
<color name="green_20">#2E7D32</color>
<color name="green_30">#388E3C</color>
<color name="green_40">#43A047</color>
<color name="green_80">#A5D6A7</color>
<color name="green_90">#C8E6C9</color>
<color name="green_100">#FFFFFF</color>
<color name="light_green_10">#33691E</color>
<color name="light_green_20">#558B2F</color>
<color name="light_green_30">#689F38</color>
<color name="light_green_40">#7CB342</color>
<color name="light_green_80">#C5E1A5</color>
<color name="light_green_90">#DCEDC8</color>
<color name="light_green_100">#FFFFFF</color>
<color name="lime_10">#827717</color>
<color name="lime_20">#9E9D24</color>
<color name="lime_30">#AFB42B</color>
<color name="lime_40">#C0CA33</color>
<color name="lime_80">#E6EE9C</color>
<color name="lime_90">#F0F4C3</color>
<color name="lime_100">#FFFFFF</color>
<color name="yellow_10">#FF6F00</color>
<color name="yellow_20">#FF8F00</color>
<color name="yellow_30">#FFA000</color>
<color name="yellow_40">#FFB300</color>
<color name="yellow_80">#FFE082</color>
<color name="yellow_90">#FFECB3</color>
<color name="yellow_100">#FFFFFF</color>
<color name="orange_10">#E65100</color>
<color name="orange_20">#EF6C00</color>
<color name="orange_30">#F57C00</color>
<color name="orange_40">#FB8C00</color>
<color name="orange_80">#FFCC80</color>
<color name="orange_90">#FFE0B2</color>
<color name="orange_100">#FFFFFF</color>
<color name="deep_orange_10">#BF360C</color>
<color name="deep_orange_20">#D84315</color>
<color name="deep_orange_30">#E64A19</color>
<color name="deep_orange_40">#F4511E</color>
<color name="deep_orange_80">#FFAB91</color>
<color name="deep_orange_90">#FFCCBC</color>
<color name="deep_orange_100">#FFFFFF</color>
<color name="brown_10">#3E2723</color>
<color name="brown_20">#4E342E</color>
<color name="brown_30">#5D4037</color>
<color name="brown_40">#6D4C41</color>
<color name="brown_80">#BCAAA4</color>
<color name="brown_90">#D7CCC8</color>
<color name="brown_100">#FFFFFF</color>
<color name="grey_10">#212121</color>
<color name="grey_20">#424242</color>
<color name="grey_30">#616161</color>
<color name="grey_40">#757575</color>
<color name="grey_70">#e0e0e0</color>
<color name="grey_80">#EEEEEE</color>
<color name="grey_90">#F5F5F5</color>
<color name="grey_100">#FFFFFF</color>
<color name="blue_grey_10">#263238</color>
<color name="blue_grey_20">#37474F</color>
<color name="blue_grey_30">#455A64</color>
<color name="blue_grey_40">#546E7A</color>
<color name="blue_grey_80">#B0BEC5</color>
<color name="blue_grey_90">#CFD8DC</color>
<color name="blue_grey_100">#FFFFFF</color>
</resources>

View file

@ -11,7 +11,6 @@
<string name="lbl_retry">Retry</string> <string name="lbl_retry">Retry</string>
<string name="lbl_grant">Grant</string> <string name="lbl_grant">Grant</string>
<string name="lbl_library">Library</string>
<string name="lbl_genres">Genres</string> <string name="lbl_genres">Genres</string>
<string name="lbl_artists">Artists</string> <string name="lbl_artists">Artists</string>
<string name="lbl_albums">Albums</string> <string name="lbl_albums">Albums</string>
@ -71,13 +70,10 @@
<string name="setting_black_mode_desc">Use a pure-black dark theme</string> <string name="setting_black_mode_desc">Use a pure-black dark theme</string>
<string name="set_display">Display</string> <string name="set_display">Display</string>
<string name="set_lib_display">Library Items</string>
<string name="set_color_notif">Colorize notification</string>
<string name="set_color_notif_desc">Show album art on notification</string>
<string name="set_show_covers">Show album covers</string> <string name="set_show_covers">Show album covers</string>
<string name="set_show_covers_desc">Turn off to save memory usage</string> <string name="set_show_covers_desc">Turn off to save memory usage</string>
<string name="set_quality_covers">Ignore MediaStore covers</string> <string name="set_quality_covers">Ignore MediaStore covers</string>
<string name="set_quality_covers_desc">Increases the quality of the album covers, but results in longer loading times and higher memory usage</string> <string name="set_quality_covers_desc">Increases album cover quality, but results in longer loading times and higher memory usage</string>
<string name="set_alt_action">Use alternate notification action</string> <string name="set_alt_action">Use alternate notification action</string>
<string name="set_alt_loop">Prefer repeat mode action</string> <string name="set_alt_loop">Prefer repeat mode action</string>
<string name="set_alt_shuffle">Prefer shuffle action</string> <string name="set_alt_shuffle">Prefer shuffle action</string>
@ -136,8 +132,6 @@
<!-- Default Namespace | Placeholder values --> <!-- Default Namespace | Placeholder values -->
<string name="def_genre">Unknown Genre</string> <string name="def_genre">Unknown Genre</string>
<string name="def_artist">Unknown Artist</string>
<string name="def_album">Unknown Album</string>
<string name="def_date">No Date</string> <string name="def_date">No Date</string>
<string name="def_playback">No music playing</string> <string name="def_playback">No music playing</string>
<string name="def_widget_song">Song Name</string> <string name="def_widget_song">Song Name</string>
@ -159,8 +153,8 @@
<string name="clr_yellow">Yellow</string> <string name="clr_yellow">Yellow</string>
<string name="clr_orange">Orange</string> <string name="clr_orange">Orange</string>
<string name="clr_deep_orange">Deep Orange</string> <string name="clr_deep_orange">Deep Orange</string>
<string name="clr_label_brown">Brown</string> <string name="clr_brown">Brown</string>
<string name="clr_label_grey">Grey</string> <string name="clr_grey">Grey</string>
<string name="clr_blue_grey">Blue Grey</string> <string name="clr_blue_grey">Blue Grey</string>
<!-- Format Namespace | Value formatting/plurals --> <!-- Format Namespace | Value formatting/plurals -->

View file

@ -13,27 +13,25 @@
</style> </style>
<!-- Custom dialog title theme --> <!-- Custom dialog title theme -->
<style name="Widget.Auxio.Dialog.TextView" parent="MaterialAlertDialog.MaterialComponents.Title.Text"> <style name="Widget.Auxio.Dialog.TextView" parent="MaterialAlertDialog.Material3.Title.Text">
<item name="android:fontFamily">@font/inter_bold</item> <item name="android:fontFamily">@font/inter_bold</item>
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/text_size_large</item> <item name="android:textSize">@dimen/text_size_large</item>
</style> </style>
<!-- The style for the checked text view in the custom dialog --> <!-- The style for the checked text view in the custom dialog -->
<style name="Widget.Auxio.Dialog.CheckedTextView" parent="Widget.MaterialComponents.CheckedTextView"> <style name="Widget.Auxio.Dialog.CheckedTextView" parent="Widget.Material3.CheckedTextView">
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/text_size_medium</item> <item name="android:textSize">@dimen/text_size_medium</item>
<item name="android:background">@null</item> <item name="android:background">@null</item>
</style> </style>
<!-- Style for dialog buttons --> <!-- Style for dialog buttons -->
<style name="Widget.Auxio.Dialog.Button" parent="Widget.MaterialComponents.Button.TextButton.Dialog"> <style name="Widget.Auxio.Dialog.Button" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">wrap_content</item>
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:textColor">?attr/colorAccent</item> <item name="android:textColor">?attr/colorPrimary</item>
<item name="android:textAppearance">?android:attr/textAppearanceButton</item>
<item name="cornerRadius">0dp</item>
</style> </style>
<!-- Custom button style that eliminates the weird margin that the neutral button has --> <!-- Custom button style that eliminates the weird margin that the neutral button has -->

View file

@ -1,49 +1,41 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Master parent theme based off of Theme.MaterialComponents.DayNight.NoActionBar.Bridge --> <!-- Master parent theme based off of Theme.MaterialComponents.DayNight.NoActionBar.Bridge -->
<style name="Theme.Auxio" parent="Theme.MaterialComponents.DayNight.NoActionBar" /> <style name="Theme.Auxio" parent="Theme.Material3.DayNight.NoActionBar" />
<!-- Template theme that handles edge-to-edge on other styles variants --> <!-- Template theme that handles edge-to-edge on other styles variants -->
<style name="Theme.Auxio.V27" parent="Theme.Auxio" /> <style name="Theme.Auxio.V27" parent="Theme.Auxio" />
<!-- Android 12 Splashscreen config --> <!-- Android 12 configuration -->
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V27" /> <style name="Theme.Auxio.V31" parent="Theme.Auxio.V27">
<item name="colorSecondary">?attr/colorPrimary</item>
<item name="colorOnSecondary">?attr/colorOnPrimary</item>
<item name="colorSecondaryContainer">?attr/colorPrimaryContainer</item>
<item name="colorOnSecondaryContainer">?attr/colorOnPrimaryContainer</item>
<item name="colorTertiary">?attr/colorPrimary</item>
<item name="colorOnTertiary">?attr/colorOnPrimary</item>
<item name="colorTertiaryContainer">?attr/colorPrimaryContainer</item>
<item name="colorOnTertiaryContainer">?attr/colorOnPrimaryContainer</item>
<item name="colorSurface">@color/surface</item>
<item name="colorControlNormal">@color/control</item>
<item name="colorControlHighlight">@color/overlay_selection</item>
<item name="colorControlActivated">?attr/colorPrimary</item>
<item name="colorAccent">?attr/colorPrimary</item>
</style>>
<!-- Base theme --> <!-- Base theme -->
<style name="Theme.Auxio.App" parent="Theme.Auxio.V31"> <style name="Theme.Auxio.App" parent="Theme.Auxio.V31">
<!-- Colors --> <!-- Values -->
<item name="colorSurface">@color/surface</item> <item name="colorOutline">@color/overlay_stroke</item>
<item name="colorAccent">@color/blue</item>
<item name="colorPrimary">?attr/colorAccent</item>
<item name="colorOnPrimary">?attr/colorSurface</item>
<item name="colorSecondary">?attr/colorAccent</item>
<item name="colorOnSecondary">?attr/colorSurface</item>
<item name="colorControlNormal">@color/control</item>
<item name="colorControlHighlight">@color/overlay_selection</item>
<item name="colorControlActivated">?attr/colorAccent</item>
<!--
Use the accent color as the elevation overlay color on dark mode. It's just more visually
appealing then a grey-ish color that sticks out like a sore thumb. Technically this is
actually a part of Material3, but that is still unstable, so I just copied this element
for now.
-->
<item name="elevationOverlayColor">?attr/colorPrimary</item>
<!-- Appearance --> <!-- Appearance -->
<item name="android:windowBackground">?attr/colorSurface</item>
<item name="android:colorBackground">?attr/colorSurface</item> <item name="android:colorBackground">?attr/colorSurface</item>
<item name="android:windowBackground">?attr/colorSurface</item>
<item name="android:fontFamily">@font/inter</item> <item name="android:fontFamily">@font/inter</item>
<item name="android:textCursorDrawable">@drawable/ui_cursor</item>
<item name="cornerRadius">0dp</item>
<!-- System-specific magic -->
<item name="android:scrollbars">none</item> <item name="android:scrollbars">none</item>
<item name="android:windowIsFloating">false</item>
<!-- Material stuff --> <!-- Material -->
<item name="textInputStyle">@null</item> <item name="textInputStyle">@null</item>
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item> <item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
</style> </style>

View file

@ -2,15 +2,11 @@
<resources> <resources>
<!-- SHARED RE-USABLE UI STYLES --> <!-- SHARED RE-USABLE UI STYLES -->
<!-- VIEW STYLES -->
<!-- Base toolbar style --> <!-- Base toolbar style -->
<style name="Widget.Auxio.Toolbar" parent="ThemeOverlay.MaterialComponents.ActionBar"> <style name="Widget.Auxio.Toolbar" parent="ThemeOverlay.Material3.ActionBar">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_height">?android:attr/actionBarSize</item> <item name="android:layout_height">?android:attr/actionBarSize</item>
<item name="titleTextAppearance">@style/TextAppearance.ToolbarTitle</item> <item name="titleTextAppearance">@style/TextAppearance.ToolbarTitle</item>
<item name="contentInsetStartWithNavigation">0dp</item>
</style> </style>
<!-- Toolbar sub-style with a nav icon --> <!-- Toolbar sub-style with a nav icon -->
@ -29,19 +25,15 @@
</style> </style>
<style name="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal"> <style name="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressBackgroundTint">?attr/colorAccent</item> <item name="android:progressTint">?attr/colorPrimary</item>
<item name="android:progressTint">?attr/colorAccent</item> <item name="android:progressBackgroundTint">?attr/colorSecondary</item>
</style> </style>
<style name="Widget.Auxio.SeekBar" parent="Widget.AppCompat.SeekBar"> <style name="Widget.Auxio.SeekBar" parent="Widget.AppCompat.SeekBar">
<item name="android:clickable">true</item> <item name="android:progressTint">?attr/colorPrimary</item>
<item name="android:focusable">true</item> <item name="android:progressBackgroundTint">?attr/colorSecondary</item>
<item name="android:progressBackgroundTint">?attr/colorAccent</item>
<item name="android:progressTint">?attr/colorAccent</item>
<item name="android:splitTrack">false</item>
<item name="android:thumbOffset">@dimen/offset_thumb</item> <item name="android:thumbOffset">@dimen/offset_thumb</item>
<item name="android:thumbTint">?attr/colorAccent</item> <item name="android:thumbTint">?attr/colorPrimary</item>
<item name="android:enabled">true</item>
<item name="android:minHeight">@dimen/size_btn_small</item> <item name="android:minHeight">@dimen/size_btn_small</item>
<item name="android:theme">@style/ThemeOverlay.SeekbarHalo</item> <item name="android:theme">@style/ThemeOverlay.SeekbarHalo</item>
</style> </style>
@ -65,11 +57,10 @@
<item name="android:layout_height">0dp</item> <item name="android:layout_height">0dp</item>
</style> </style>
<style name="TextAppearance.Auxio.TabLayout.Label" parent="@style/TextAppearance.Design.Tab"> <style name="TextAppearance.Auxio.TabLayout.Label" parent="TextAppearance.Material3.LabelLarge">
<item name="fontFamily">@font/inter_semibold</item>
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:letterSpacing">0.01</item>
<item name="android:textSize">@dimen/text_size_small</item> <item name="android:textSize">@dimen/text_size_small</item>
<item name="textAllCaps">false</item>
</style> </style>
<style name="Widget.Auxio.ItemLayout" parent=""> <style name="Widget.Auxio.ItemLayout" parent="">
@ -174,27 +165,17 @@
<item name="android:padding">@dimen/spacing_small</item> <item name="android:padding">@dimen/spacing_small</item>
</style> </style>
<style name="Widget.Auxio.Button.Primary" parent="Widget.MaterialComponents.Button.TextButton"> <style name="Widget.Auxio.Button.Primary" parent="Widget.Material3.Button.TextButton">
<item name="android:letterSpacing">0.01</item>
<item name="android:textAllCaps">false</item>
<item name="android:backgroundTint">?attr/colorPrimary</item>
<item name="android:textSize">@dimen/text_size_small</item> <item name="android:textSize">@dimen/text_size_small</item>
<item name="android:textColor">?attr/colorSurface</item> <item name="android:textColor">?attr/colorSurface</item>
<item name="android:insetTop">4dp</item>
<item name="android:insetBottom">4dp</item>
<item name="rippleColor">@color/mtrl_btn_ripple_color</item> <item name="rippleColor">@color/mtrl_btn_ripple_color</item>
<item name="fontFamily">@font/inter_semibold</item> <item name="fontFamily">@font/inter_semibold</item>
<item name="cornerRadius">24dp</item> <item name="android:backgroundTint">?attr/colorPrimary</item>
</style> </style>
<style name="Widget.Auxio.Button.Secondary" parent="Widget.MaterialComponents.Button.OutlinedButton"> <style name="Widget.Auxio.Button.Secondary" parent="Widget.Material3.Button.OutlinedButton">
<item name="android:letterSpacing">0.01</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/text_size_small</item> <item name="android:textSize">@dimen/text_size_small</item>
<item name="fontFamily">@font/inter_semibold</item> <item name="fontFamily">@font/inter_semibold</item>
<item name="android:insetTop">4dp</item>
<item name="android:insetBottom">4dp</item>
<item name="cornerRadius">24dp</item>
</style> </style>
<style name="Widget.Auxio.Button.Circular" parent=""> <style name="Widget.Auxio.Button.Circular" parent="">

View file

@ -4,78 +4,154 @@
All the base themes/accents. All the base themes/accents.
--> -->
<style name="Theme.Auxio.Red" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Red" parent="Theme.Auxio.App">
<item name="colorAccent">@color/red</item> <item name="colorPrimary">@color/red_primary</item>
<item name="colorOnPrimary">@color/red_on_primary</item>
<item name="colorPrimaryInverse">@color/red_primary_inverse</item>
<item name="colorPrimaryContainer">@color/red_primary_container</item>
<item name="colorOnPrimaryContainer">@color/red_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Pink" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Pink" parent="Theme.Auxio.App">
<item name="colorAccent">@color/pink</item> <item name="colorPrimary">@color/pink_primary</item>
<item name="colorOnPrimary">@color/pink_on_primary</item>
<item name="colorPrimaryInverse">@color/pink_primary_inverse</item>
<item name="colorPrimaryContainer">@color/pink_primary_container</item>
<item name="colorOnPrimaryContainer">@color/pink_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Purple" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Purple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/purple</item> <item name="colorPrimary">@color/purple_primary</item>
<item name="colorOnPrimary">@color/purple_on_primary</item>
<item name="colorPrimaryInverse">@color/purple_primary_inverse</item>
<item name="colorPrimaryContainer">@color/purple_primary_container</item>
<item name="colorOnPrimaryContainer">@color/purple_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.DeepPurple" parent="Theme.Auxio.App"> <style name="Theme.Auxio.DeepPurple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_purple</item> <item name="colorPrimary">@color/deep_purple_primary</item>
<item name="colorOnPrimary">@color/deep_purple_on_primary</item>
<item name="colorPrimaryInverse">@color/deep_purple_primary_inverse</item>
<item name="colorPrimaryContainer">@color/deep_purple_primary_container</item>
<item name="colorOnPrimaryContainer">@color/deep_purple_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Indigo" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Indigo" parent="Theme.Auxio.App">
<item name="colorAccent">@color/indigo</item> <item name="colorPrimary">@color/indigo_primary</item>
<item name="colorOnPrimary">@color/indigo_on_primary</item>
<item name="colorPrimaryInverse">@color/indigo_primary_inverse</item>
<item name="colorPrimaryContainer">@color/indigo_primary_container</item>
<item name="colorOnPrimaryContainer">@color/indigo_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Blue" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Blue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue</item> <item name="colorPrimary">@color/blue_primary</item>
<item name="colorOnPrimary">@color/blue_on_primary</item>
<item name="colorPrimaryInverse">@color/blue_primary_inverse</item>
<item name="colorPrimaryContainer">@color/blue_primary_container</item>
<item name="colorOnPrimaryContainer">@color/blue_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.LightBlue" parent="Theme.Auxio.App"> <style name="Theme.Auxio.LightBlue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_blue</item> <item name="colorPrimary">@color/light_blue_primary</item>
<item name="colorOnPrimary">@color/light_blue_on_primary</item>
<item name="colorPrimaryInverse">@color/light_blue_primary_inverse</item>
<item name="colorPrimaryContainer">@color/light_blue_primary_container</item>
<item name="colorOnPrimaryContainer">@color/light_blue_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Cyan" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Cyan" parent="Theme.Auxio.App">
<item name="colorAccent">@color/cyan</item> <item name="colorPrimary">@color/cyan_primary</item>
<item name="colorOnPrimary">@color/cyan_on_primary</item>
<item name="colorPrimaryInverse">@color/cyan_primary_inverse</item>
<item name="colorPrimaryContainer">@color/cyan_primary_container</item>
<item name="colorOnPrimaryContainer">@color/cyan_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Teal" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Teal" parent="Theme.Auxio.App">
<item name="colorAccent">@color/teal</item> <item name="colorPrimary">@color/teal_primary</item>
<item name="colorOnPrimary">@color/teal_on_primary</item>
<item name="colorPrimaryInverse">@color/teal_primary_inverse</item>
<item name="colorPrimaryContainer">@color/teal_primary_container</item>
<item name="colorOnPrimaryContainer">@color/teal_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Green" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Green" parent="Theme.Auxio.App">
<item name="colorAccent">@color/green</item> <item name="colorPrimary">@color/green_primary</item>
<item name="colorOnPrimary">@color/green_on_primary</item>
<item name="colorPrimaryInverse">@color/green_primary_inverse</item>
<item name="colorPrimaryContainer">@color/green_primary_container</item>
<item name="colorOnPrimaryContainer">@color/green_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.LightGreen" parent="Theme.Auxio.App"> <style name="Theme.Auxio.LightGreen" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_green</item> <item name="colorPrimary">@color/light_green_primary</item>
<item name="colorOnPrimary">@color/light_green_on_primary</item>
<item name="colorPrimaryInverse">@color/light_green_primary_inverse</item>
<item name="colorPrimaryContainer">@color/light_green_primary_container</item>
<item name="colorOnPrimaryContainer">@color/light_green_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Lime" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Lime" parent="Theme.Auxio.App">
<item name="colorAccent">@color/lime</item> <item name="colorPrimary">@color/lime_primary</item>
<item name="colorOnPrimary">@color/lime_on_primary</item>
<item name="colorPrimaryInverse">@color/lime_primary_inverse</item>
<item name="colorPrimaryContainer">@color/lime_primary_container</item>
<item name="colorOnPrimaryContainer">@color/lime_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Yellow" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Yellow" parent="Theme.Auxio.App">
<item name="colorAccent">@color/yellow</item> <item name="colorPrimary">@color/yellow_primary</item>
<item name="colorOnPrimary">@color/yellow_on_primary</item>
<item name="colorPrimaryInverse">@color/yellow_primary_inverse</item>
<item name="colorPrimaryContainer">@color/yellow_primary_container</item>
<item name="colorOnPrimaryContainer">@color/yellow_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Orange" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Orange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/orange</item> <item name="colorPrimary">@color/orange_primary</item>
<item name="colorOnPrimary">@color/orange_on_primary</item>
<item name="colorPrimaryInverse">@color/orange_primary_inverse</item>
<item name="colorPrimaryContainer">@color/orange_primary_container</item>
<item name="colorOnPrimaryContainer">@color/orange_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.DeepOrange" parent="Theme.Auxio.App"> <style name="Theme.Auxio.DeepOrange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_orange</item> <item name="colorPrimary">@color/deep_orange_primary</item>
<item name="colorOnPrimary">@color/deep_orange_on_primary</item>
<item name="colorPrimaryInverse">@color/deep_orange_primary_inverse</item>
<item name="colorPrimaryContainer">@color/deep_orange_primary_container</item>
<item name="colorOnPrimaryContainer">@color/deep_orange_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Brown" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Brown" parent="Theme.Auxio.App">
<item name="colorAccent">@color/brown</item> <item name="colorPrimary">@color/brown_primary</item>
<item name="colorOnPrimary">@color/brown_on_primary</item>
<item name="colorPrimaryInverse">@color/brown_primary_inverse</item>
<item name="colorPrimaryContainer">@color/brown_primary_container</item>
<item name="colorOnPrimaryContainer">@color/brown_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Grey" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Grey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/grey</item> <item name="colorPrimary">@color/grey_primary</item>
<item name="colorOnPrimary">@color/grey_on_primary</item>
<item name="colorPrimaryInverse">@color/grey_primary_inverse</item>
<item name="colorPrimaryContainer">@color/grey_primary_container</item>
<item name="colorOnPrimaryContainer">@color/grey_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.BlueGrey" parent="Theme.Auxio.App"> <style name="Theme.Auxio.BlueGrey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue_grey</item> <item name="colorPrimary">@color/blue_grey_primary</item>
<item name="colorOnPrimary">@color/blue_grey_on_primary</item>
<item name="colorPrimaryInverse">@color/blue_grey_primary_inverse</item>
<item name="colorPrimaryContainer">@color/blue_grey_primary_container</item>
<item name="colorOnPrimaryContainer">@color/blue_grey_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Neutral" parent="Theme.Auxio.App"> <style name="Theme.Auxio.Neutral" parent="Theme.Auxio.App">
<item name="colorAccent">@color/control</item> <item name="colorPrimary">@color/control</item>
<item name="colorOnPrimary">@color/control</item>
<item name="colorPrimaryInverse">@color/control</item>
<item name="colorPrimaryContainer">@color/control</item>
<item name="colorOnPrimaryContainer">@color/control</item>
</style> </style>
</resources> </resources>

View file

@ -4,74 +4,146 @@
All the base themes/accents. All the base themes/accents.
--> -->
<style name="Theme.Auxio.Black.Red" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Red" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/red</item> <item name="colorPrimary">@color/red_primary</item>
<item name="colorOnPrimary">@color/red_on_primary</item>
<item name="colorPrimaryInverse">@color/red_primary_inverse</item>
<item name="colorPrimaryContainer">@color/red_primary_container</item>
<item name="colorOnPrimaryContainer">@color/red_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Pink" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Pink" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/pink</item> <item name="colorPrimary">@color/pink_primary</item>
<item name="colorOnPrimary">@color/pink_on_primary</item>
<item name="colorPrimaryInverse">@color/pink_primary_inverse</item>
<item name="colorPrimaryContainer">@color/pink_primary_container</item>
<item name="colorOnPrimaryContainer">@color/pink_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Purple" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Purple" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/purple</item> <item name="colorPrimary">@color/purple_primary</item>
<item name="colorOnPrimary">@color/purple_on_primary</item>
<item name="colorPrimaryInverse">@color/purple_primary_inverse</item>
<item name="colorPrimaryContainer">@color/purple_primary_container</item>
<item name="colorOnPrimaryContainer">@color/purple_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.DeepPurple" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.DeepPurple" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/deep_purple</item> <item name="colorPrimary">@color/deep_purple_primary</item>
<item name="colorOnPrimary">@color/deep_purple_on_primary</item>
<item name="colorPrimaryInverse">@color/deep_purple_primary_inverse</item>
<item name="colorPrimaryContainer">@color/deep_purple_primary_container</item>
<item name="colorOnPrimaryContainer">@color/deep_purple_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Indigo" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Indigo" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/indigo</item> <item name="colorPrimary">@color/indigo_primary</item>
<item name="colorOnPrimary">@color/indigo_on_primary</item>
<item name="colorPrimaryInverse">@color/indigo_primary_inverse</item>
<item name="colorPrimaryContainer">@color/indigo_primary_container</item>
<item name="colorOnPrimaryContainer">@color/indigo_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Blue" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Blue" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/blue</item> <item name="colorPrimary">@color/blue_primary</item>
<item name="colorOnPrimary">@color/blue_on_primary</item>
<item name="colorPrimaryInverse">@color/blue_primary_inverse</item>
<item name="colorPrimaryContainer">@color/blue_primary_container</item>
<item name="colorOnPrimaryContainer">@color/blue_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.LightBlue" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.LightBlue" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/light_blue</item> <item name="colorPrimary">@color/light_blue_primary</item>
<item name="colorOnPrimary">@color/light_blue_on_primary</item>
<item name="colorPrimaryInverse">@color/light_blue_primary_inverse</item>
<item name="colorPrimaryContainer">@color/light_blue_primary_container</item>
<item name="colorOnPrimaryContainer">@color/light_blue_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Cyan" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Cyan" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/cyan</item> <item name="colorPrimary">@color/cyan_primary</item>
<item name="colorOnPrimary">@color/cyan_on_primary</item>
<item name="colorPrimaryInverse">@color/cyan_primary_inverse</item>
<item name="colorPrimaryContainer">@color/cyan_primary_container</item>
<item name="colorOnPrimaryContainer">@color/cyan_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Teal" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Teal" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/teal</item> <item name="colorPrimary">@color/teal_primary</item>
<item name="colorOnPrimary">@color/teal_on_primary</item>
<item name="colorPrimaryInverse">@color/teal_primary_inverse</item>
<item name="colorPrimaryContainer">@color/teal_primary_container</item>
<item name="colorOnPrimaryContainer">@color/teal_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Green" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Green" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/green</item> <item name="colorPrimary">@color/green_primary</item>
<item name="colorOnPrimary">@color/green_on_primary</item>
<item name="colorPrimaryInverse">@color/green_primary_inverse</item>
<item name="colorPrimaryContainer">@color/green_primary_container</item>
<item name="colorOnPrimaryContainer">@color/green_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.LightGreen" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.LightGreen" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/light_green</item> <item name="colorPrimary">@color/light_green_primary</item>
<item name="colorOnPrimary">@color/light_green_on_primary</item>
<item name="colorPrimaryInverse">@color/light_green_primary_inverse</item>
<item name="colorPrimaryContainer">@color/light_green_primary_container</item>
<item name="colorOnPrimaryContainer">@color/light_green_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Lime" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Lime" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/lime</item> <item name="colorPrimary">@color/lime_primary</item>
<item name="colorOnPrimary">@color/lime_on_primary</item>
<item name="colorPrimaryInverse">@color/lime_primary_inverse</item>
<item name="colorPrimaryContainer">@color/lime_primary_container</item>
<item name="colorOnPrimaryContainer">@color/lime_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Yellow" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Yellow" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/yellow</item> <item name="colorPrimary">@color/yellow_primary</item>
<item name="colorOnPrimary">@color/yellow_on_primary</item>
<item name="colorPrimaryInverse">@color/yellow_primary_inverse</item>
<item name="colorPrimaryContainer">@color/yellow_primary_container</item>
<item name="colorOnPrimaryContainer">@color/yellow_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Orange" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Orange" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/orange</item> <item name="colorPrimary">@color/orange_primary</item>
<item name="colorOnPrimary">@color/orange_on_primary</item>
<item name="colorPrimaryInverse">@color/orange_primary_inverse</item>
<item name="colorPrimaryContainer">@color/orange_primary_container</item>
<item name="colorOnPrimaryContainer">@color/orange_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.DeepOrange" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.DeepOrange" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/deep_orange</item> <item name="colorPrimary">@color/deep_orange_primary</item>
<item name="colorOnPrimary">@color/deep_orange_on_primary</item>
<item name="colorPrimaryInverse">@color/deep_orange_primary_inverse</item>
<item name="colorPrimaryContainer">@color/deep_orange_primary_container</item>
<item name="colorOnPrimaryContainer">@color/deep_orange_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Brown" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Brown" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/brown</item> <item name="colorPrimary">@color/brown_primary</item>
<item name="colorOnPrimary">@color/brown_on_primary</item>
<item name="colorPrimaryInverse">@color/brown_primary_inverse</item>
<item name="colorPrimaryContainer">@color/brown_primary_container</item>
<item name="colorOnPrimaryContainer">@color/brown_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.Grey" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.Grey" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/grey</item> <item name="colorPrimary">@color/grey_primary</item>
<item name="colorOnPrimary">@color/grey_on_primary</item>
<item name="colorPrimaryInverse">@color/grey_primary_inverse</item>
<item name="colorPrimaryContainer">@color/grey_primary_container</item>
<item name="colorOnPrimaryContainer">@color/grey_on_primary_container</item>
</style> </style>
<style name="Theme.Auxio.Black.BlueGrey" parent="Theme.Auxio.App.Black"> <style name="Theme.Auxio.Black.BlueGrey" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/blue_grey</item> <item name="colorPrimary">@color/blue_grey_primary</item>
<item name="colorOnPrimary">@color/blue_grey_on_primary</item>
<item name="colorPrimaryInverse">@color/blue_grey_primary_inverse</item>
<item name="colorPrimaryContainer">@color/blue_grey_primary_container</item>
<item name="colorOnPrimaryContainer">@color/blue_grey_on_primary_container</item>
</style> </style>
</resources> </resources>

View file

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
app:layout="@layout/item_header"
app:title="@string/set_display">
<SwitchPreferenceCompat
app:defaultValue="true"
app:iconSpaceReserved="false"
app:key="KEY_SHOW_COVERS"
app:summary="@string/set_show_covers_desc"
app:title="@string/set_show_covers" />
<SwitchPreferenceCompat
app:defaultValue="false"
app:dependency="KEY_SHOW_COVERS"
app:iconSpaceReserved="false"
app:key="KEY_QUALITY_COVERS"
app:summary="@string/set_quality_covers_desc"
app:title="@string/set_quality_covers" />
<SwitchPreferenceCompat
app:allowDividerBelow="false"
app:defaultValue="false"
app:iconSpaceReserved="false"
app:key="KEY_ALT_NOTIF_ACTION"
app:summaryOff="@string/set_alt_loop"
app:summaryOn="@string/set_alt_shuffle"
app:title="@string/set_alt_action" />
</PreferenceCategory>
<PreferenceCategory
app:layout="@layout/item_header"
app:title="@string/set_audio">
<SwitchPreferenceCompat
app:defaultValue="true"
app:iconSpaceReserved="false"
app:key="KEY_AUDIO_FOCUS"
app:summary="@string/set_focus_desc"
app:title="@string/set_focus" />
<SwitchPreferenceCompat
app:allowDividerBelow="false"
app:defaultValue="true"
app:iconSpaceReserved="false"
app:key="KEY_PLUG_MGT"
app:summary="@string/set_plug_mgt_desc"
app:title="@string/set_plug_mgt" />
</PreferenceCategory>
<PreferenceCategory
app:layout="@layout/item_header"
app:title="@string/set_behavior">
<org.oxycblt.auxio.settings.IntListPreference
app:defaultValue="@integer/play_mode_songs"
app:entries="@array/entries_song_playback_mode"
app:entryValues="@array/values_song_playback_mode"
app:iconSpaceReserved="false"
app:key="KEY_SONG_PLAY_MODE2"
app:title="@string/set_song_mode"
app:useSimpleSummaryProvider="true" />
<SwitchPreferenceCompat
app:defaultValue="true"
app:iconSpaceReserved="false"
app:key="KEY_KEEP_SHUFFLE"
app:summary="@string/set_keep_shuffle_desc"
app:title="@string/set_keep_shuffle" />
<SwitchPreferenceCompat
app:allowDividerBelow="false"
app:defaultValue="true"
app:iconSpaceReserved="false"
app:key="KEY_PREV_REWIND"
app:summary="@string/set_rewind_prev_desc"
app:title="@string/set_rewind_prev" />
<SwitchPreferenceCompat
app:allowDividerBelow="false"
app:defaultValue="false"
app:iconSpaceReserved="false"
app:key="KEY_LOOP_PAUSE"
app:summary="@string/set_loop_pause_desc"
app:title="@string/set_loop_pause" />
</PreferenceCategory>
<PreferenceCategory
app:layout="@layout/item_header"
app:title="@string/set_content">
<Preference
app:iconSpaceReserved="false"
app:key="KEY_SAVE_STATE"
app:summary="@string/set_save_desc"
app:title="@string/set_save" />
<Preference
app:iconSpaceReserved="false"
app:key="KEY_BLACKLIST"
app:summary="@string/set_excluded_desc"
app:title="@string/set_excluded" />
</PreferenceCategory>
</PreferenceScreen>

View file

@ -101,7 +101,7 @@
app:summary="@string/set_keep_shuffle_desc" app:summary="@string/set_keep_shuffle_desc"
app:title="@string/set_keep_shuffle" /> app:title="@string/set_keep_shuffle" />
<SwitchPreference <SwitchPreferenceCompat
app:allowDividerBelow="false" app:allowDividerBelow="false"
app:defaultValue="true" app:defaultValue="true"
app:iconSpaceReserved="false" app:iconSpaceReserved="false"
@ -109,7 +109,7 @@
app:summary="@string/set_rewind_prev_desc" app:summary="@string/set_rewind_prev_desc"
app:title="@string/set_rewind_prev" /> app:title="@string/set_rewind_prev" />
<SwitchPreference <SwitchPreferenceCompat
app:allowDividerBelow="false" app:allowDividerBelow="false"
app:defaultValue="false" app:defaultValue="false"
app:iconSpaceReserved="false" app:iconSpaceReserved="false"

View file

@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
ext.kotlin_version = '1.5.30' ext.kotlin_version = "1.5.31"
ext.navigation_version = "2.3.5" ext.navigation_version = "2.3.5"
repositories { repositories {