From 8c7f0867f9d4d1133aeaf5e771159e682e808362 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sun, 10 Oct 2021 16:44:17 -0600 Subject: [PATCH] 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. --- app/build.gradle | 5 +- .../java/org/oxycblt/auxio/MainActivity.kt | 23 +-- .../java/org/oxycblt/auxio/accent/Accent.kt | 146 ++++++++++------- .../org/oxycblt/auxio/accent/AccentAdapter.kt | 4 +- .../org/oxycblt/auxio/accent/AccentDialog.kt | 4 +- .../oxycblt/auxio/excluded/ExcludedDialog.kt | 12 +- .../auxio/excluded/ExcludedViewModel.kt | 8 +- .../auxio/playback/PlaybackFragment.kt | 1 - .../auxio/playback/queue/QueueAdapter.kt | 2 - .../auxio/playback/queue/QueueFragment.kt | 1 - .../oxycblt/auxio/settings/AboutFragment.kt | 2 +- .../auxio/settings/IntListPrefDialog.kt | 22 +-- .../oxycblt/auxio/settings/SettingsCompat.kt | 10 +- .../oxycblt/auxio/settings/SettingsManager.kt | 7 +- .../org/oxycblt/auxio/ui/LifecycleDialog.kt | 6 - .../org/oxycblt/auxio/util/ContextUtil.kt | 10 -- .../java/org/oxycblt/auxio/util/DbUtil.kt | 1 - .../java/org/oxycblt/auxio/util/ViewUtil.kt | 12 -- app/src/main/res/animator/animator_thumb.xml | 45 ------ app/src/main/res/color/overlay_disabled.xml | 2 +- app/src/main/res/color/overlay_popup.xml | 4 - app/src/main/res/color/overlay_selection.xml | 2 +- ...overlay_divider.xml => overlay_stroke.xml} | 2 +- app/src/main/res/color/sel_accented.xml | 3 +- .../main/res/color/sel_accented_primary.xml | 3 +- .../main/res/color/sel_accented_secondary.xml | 3 +- app/src/main/res/drawable/ic_accent.xml | 2 +- app/src/main/res/drawable/ic_album.xml | 2 +- app/src/main/res/drawable/ic_artist.xml | 2 +- app/src/main/res/drawable/ic_auto.xml | 2 +- app/src/main/res/drawable/ic_day.xml | 2 +- app/src/main/res/drawable/ic_genre.xml | 2 +- app/src/main/res/drawable/ic_library.xml | 11 -- app/src/main/res/drawable/ic_loop_on.xml | 2 +- app/src/main/res/drawable/ic_loop_one.xml | 2 +- app/src/main/res/drawable/ic_night.xml | 2 +- app/src/main/res/drawable/ic_shuffle_on.xml | 2 +- app/src/main/res/drawable/ic_song.xml | 2 +- .../main/res/drawable/ui_circle_ripple.xml | 2 +- app/src/main/res/drawable/ui_cursor.xml | 6 - .../main/res/drawable/ui_header_dividers.xml | 2 +- app/src/main/res/layout/dialog_accent.xml | 3 + app/src/main/res/layout/dialog_title.xml | 13 -- app/src/main/res/layout/fragment_home.xml | 4 +- app/src/main/res/layout/fragment_search.xml | 5 +- app/src/main/res/layout/item_accent.xml | 2 +- app/src/main/res/layout/item_album.xml | 8 +- app/src/main/res/layout/item_artist.xml | 4 +- app/src/main/res/layout/item_excluded_dir.xml | 4 + app/src/main/res/menu/menu_home.xml | 4 +- app/src/main/res/values-cs/strings.xml | 11 +- app/src/main/res/values-de/strings.xml | 11 +- app/src/main/res/values-el/strings.xml | 6 +- app/src/main/res/values-es/strings.xml | 11 +- app/src/main/res/values-fr/strings.xml | 7 +- app/src/main/res/values-hi/strings.xml | 3 - app/src/main/res/values-hu/strings.xml | 6 +- app/src/main/res/values-in/strings.xml | 2 - app/src/main/res/values-it/strings.xml | 6 +- app/src/main/res/values-ko/strings.xml | 2 - .../main/res/values-night-v31/styles_core.xml | 60 +++++++ app/src/main/res/values-night/colors.xml | 131 ++++++++++++--- app/src/main/res/values-nl/strings.xml | 11 +- app/src/main/res/values-pl/strings.xml | 6 +- app/src/main/res/values-pt-rBR/strings.xml | 6 +- app/src/main/res/values-pt-rPT/strings.xml | 6 +- app/src/main/res/values-ro/strings.xml | 6 +- app/src/main/res/values-ru/strings.xml | 4 +- app/src/main/res/values-tr/strings.xml | 2 - app/src/main/res/values-uk/strings.xml | 1 - app/src/main/res/values-v31/styles_core.xml | 57 ++++++- app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 2 - app/src/main/res/values/arrays.xml | 12 -- app/src/main/res/values/colors.xml | 129 ++++++++++++--- app/src/main/res/values/dimens.xml | 1 - app/src/main/res/values/integers.xml | 4 - app/src/main/res/values/palette.xml | 152 ++++++++++++++++++ app/src/main/res/values/strings.xml | 12 +- app/src/main/res/values/styles_android.xml | 10 +- app/src/main/res/values/styles_core.xml | 56 +++---- app/src/main/res/values/styles_ui.xml | 41 ++--- app/src/main/res/values/themes.xml | 114 ++++++++++--- app/src/main/res/values/themes_black.xml | 108 ++++++++++--- app/src/main/res/xml-v31/prefs_main.xml | 109 +++++++++++++ app/src/main/res/xml/prefs_main.xml | 4 +- build.gradle | 2 +- 87 files changed, 1013 insertions(+), 529 deletions(-) delete mode 100644 app/src/main/res/animator/animator_thumb.xml delete mode 100644 app/src/main/res/color/overlay_popup.xml rename app/src/main/res/color/{overlay_divider.xml => overlay_stroke.xml} (62%) delete mode 100644 app/src/main/res/drawable/ic_library.xml delete mode 100644 app/src/main/res/drawable/ui_cursor.xml delete mode 100644 app/src/main/res/layout/dialog_title.xml create mode 100644 app/src/main/res/values-night-v31/styles_core.xml create mode 100644 app/src/main/res/values/palette.xml create mode 100644 app/src/main/res/xml-v31/prefs_main.xml diff --git a/app/build.gradle b/app/build.gradle index 269778060..b7544c6fb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -100,15 +100,12 @@ dependencies { implementation 'io.coil-kt:coil:1.3.2' // Material - implementation "com.google.android.material:material:1.4.0" + implementation "com.google.android.material:material:1.5.0-alpha04" // --- DEBUG --- // Lint ktlint 'com.pinterest:ktlint:0.42.1' - - // Memory Leak checking - debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7' } task ktlint(type: JavaExec, group: "verification") { diff --git a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt index f4d911a83..7ef73dfa1 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt @@ -90,18 +90,21 @@ class MainActivity : AppCompatActivity() { } private fun setupTheme() { - // Update the current accent and theme - val settingsManager = SettingsManager.getInstance() - AppCompatDelegate.setDefaultNightMode(settingsManager.theme) + // 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 + val settingsManager = SettingsManager.getInstance() + AppCompatDelegate.setDefaultNightMode(settingsManager.theme) - val newAccent = Accent.set(settingsManager.accent) + val newAccent = Accent.set(settingsManager.accent) - // The black theme has a completely separate set of styles since style attributes cannot - // be modified at runtime. - if (isNight && settingsManager.useBlackTheme) { - setTheme(newAccent.blackTheme) - } else { - setTheme(newAccent.theme) + // The black theme has a completely separate set of styles since style attributes cannot + // be modified at runtime. + if (isNight && settingsManager.useBlackTheme) { + setTheme(newAccent.blackTheme) + } else { + setTheme(newAccent.theme) + } } } diff --git a/app/src/main/java/org/oxycblt/auxio/accent/Accent.kt b/app/src/main/java/org/oxycblt/auxio/accent/Accent.kt index 3953453a1..0e4743f4e 100644 --- a/app/src/main/java/org/oxycblt/auxio/accent/Accent.kt +++ b/app/src/main/java/org/oxycblt/auxio/accent/Accent.kt @@ -22,76 +22,108 @@ import android.annotation.SuppressLint import android.content.Context import android.content.res.ColorStateList import android.text.Spanned -import androidx.annotation.ColorRes -import androidx.annotation.StringRes -import androidx.annotation.StyleRes import androidx.core.text.HtmlCompat import org.oxycblt.auxio.R import org.oxycblt.auxio.util.resolveStateList -/** - * A list of all possible accents. - */ -val ACCENTS = arrayOf( - Accent(R.color.red, R.style.Theme_Auxio_Red, R.style.Theme_Auxio_Black_Red, R.string.clr_red), - Accent(R.color.pink, R.style.Theme_Auxio_Pink, R.style.Theme_Auxio_Black_Pink, R.string.clr_pink), - Accent(R.color.purple, R.style.Theme_Auxio_Purple, R.style.Theme_Auxio_Black_Purple, R.string.clr_purple), - Accent( - R.color.deep_purple, - R.style.Theme_Auxio_DeepPurple, - R.style.Theme_Auxio_Black_DeepPurple, - R.string.clr_deep_purple - ), - 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_Black_LightBlue, - R.string.clr_light_blue - ), - 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_Black_LightGreen, - R.string.clr_light_green - ), - 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_Black_DeepOrange, - R.string.clr_deep_orange - ), - Accent(R.color.brown, R.style.Theme_Auxio_Brown, R.style.Theme_Auxio_Brown, R.string.clr_label_brown), - 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, - R.style.Theme_Auxio_BlueGrey, - R.style.Theme_Auxio_Black_BlueGrey, - R.string.clr_blue_grey - ), +val ACCENT_PRIMARY_COLORS = arrayOf( + R.color.red_primary, + R.color.pink_primary, + R.color.purple_primary, + R.color.deep_purple_primary, + R.color.indigo_primary, + R.color.blue_primary, + R.color.light_blue_primary, + 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_Indigo, + R.style.Theme_Auxio_Blue, + R.style.Theme_Auxio_LightBlue, + R.style.Theme_Auxio_Cyan, + R.style.Theme_Auxio_Teal, + R.style.Theme_Auxio_Green, + R.style.Theme_Auxio_LightGreen, + R.style.Theme_Auxio_Lime, + R.style.Theme_Auxio_Yellow, + R.style.Theme_Auxio_Orange, + 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_Brown, + R.style.Theme_Auxio_Black_Grey, + R.style.Theme_Auxio_Black_BlueGrey +) + +val ACCENT_NAMES = arrayOf( + R.string.clr_red, + 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 ) /** * 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 blackTheme The black theme resource for this accent * @property name The name of this accent * @author OxygenCobalt */ -data class Accent( - @ColorRes val color: Int, - @StyleRes val theme: Int, - @StyleRes val blackTheme: Int, - @StringRes val name: Int -) { +data class Accent(val index: Int) { + val color: Int get() = ACCENT_PRIMARY_COLORS[index] + val theme: Int get() = ACCENT_THEMES[index] + val blackTheme: Int get() = ACCENT_BLACK_THEMES[index] + val name: Int get() = ACCENT_NAMES[index] + /** * Get a [ColorStateList] of the accent */ diff --git a/app/src/main/java/org/oxycblt/auxio/accent/AccentAdapter.kt b/app/src/main/java/org/oxycblt/auxio/accent/AccentAdapter.kt index f6fb269c0..a73827f93 100644 --- a/app/src/main/java/org/oxycblt/auxio/accent/AccentAdapter.kt +++ b/app/src/main/java/org/oxycblt/auxio/accent/AccentAdapter.kt @@ -38,14 +38,14 @@ class AccentAdapter( ) : RecyclerView.Adapter() { 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 { return ViewHolder(ItemAccentBinding.inflate(parent.context.inflater)) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.bind(ACCENTS[position]) + holder.bind(Accent(position)) } private fun setAccent(accent: Accent) { diff --git a/app/src/main/java/org/oxycblt/auxio/accent/AccentDialog.kt b/app/src/main/java/org/oxycblt/auxio/accent/AccentDialog.kt index 1003f89f8..0d1f03979 100644 --- a/app/src/main/java/org/oxycblt/auxio/accent/AccentDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/accent/AccentDialog.kt @@ -47,7 +47,7 @@ class AccentDialog : LifecycleDialog() { val binding = DialogAccentBinding.inflate(inflater) savedInstanceState?.getInt(KEY_PENDING_ACCENT)?.let { index -> - pendingAccent = ACCENTS.getOrElse(index) { pendingAccent } + pendingAccent = Accent(index) } // --- UI SETUP --- @@ -70,7 +70,7 @@ class AccentDialog : LifecycleDialog() { override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) - outState.putInt(KEY_PENDING_ACCENT, ACCENTS.indexOf(pendingAccent)) + outState.putInt(KEY_PENDING_ACCENT, pendingAccent.index) } override fun onConfigDialog(builder: AlertDialog.Builder) { diff --git a/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedDialog.kt b/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedDialog.kt index 40b39c00d..5c390947c 100644 --- a/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedDialog.kt @@ -46,7 +46,7 @@ import kotlin.system.exitProcess * @author OxygenCobalt */ class ExcludedDialog : LifecycleDialog() { - private val blacklistModel: ExcludedViewModel by viewModels { + private val excludedModel: ExcludedViewModel by viewModels { ExcludedViewModel.Factory(requireContext()) } @@ -60,7 +60,7 @@ class ExcludedDialog : LifecycleDialog() { val binding = DialogExcludedBinding.inflate(inflater) val adapter = ExcludedEntryAdapter { path -> - blacklistModel.removePath(path) + excludedModel.removePath(path) } val launcher = registerForActivityResult( @@ -83,7 +83,7 @@ class ExcludedDialog : LifecycleDialog() { } dialog.getButton(AlertDialog.BUTTON_POSITIVE)?.setOnClickListener { - if (blacklistModel.isModified()) { + if (excludedModel.isModified()) { saveAndRestart() } else { dismiss() @@ -93,7 +93,7 @@ class ExcludedDialog : LifecycleDialog() { // --- VIEWMODEL SETUP --- - blacklistModel.paths.observe(viewLifecycleOwner) { paths -> + excludedModel.paths.observe(viewLifecycleOwner) { paths -> adapter.submitList(paths) binding.excludedEmpty.isVisible = paths.isEmpty() @@ -122,7 +122,7 @@ class ExcludedDialog : LifecycleDialog() { val path = parseDocTreePath(uri) if (path != null) { - blacklistModel.addPath(path) + excludedModel.addPath(path) } else { // TODO: Tolerate this once the excluded system is modernized requireContext().showToast(R.string.err_bad_dir) @@ -149,7 +149,7 @@ class ExcludedDialog : LifecycleDialog() { } private fun saveAndRestart() { - blacklistModel.save { + excludedModel.save { playbackModel.savePlaybackState(requireContext(), ::hardRestart) } } diff --git a/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedViewModel.kt b/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedViewModel.kt index 8fb1ffaa8..4e3fbf67b 100644 --- a/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/excluded/ExcludedViewModel.kt @@ -37,7 +37,7 @@ class ExcludedViewModel(context: Context) : ViewModel() { private val mPaths = MutableLiveData(mutableListOf()) val paths: LiveData> get() = mPaths - private val blacklistDatabase = ExcludedDatabase.getInstance(context) + private val excludedDatabase = ExcludedDatabase.getInstance(context) private var dbPaths = listOf() init { @@ -69,7 +69,7 @@ class ExcludedViewModel(context: Context) : ViewModel() { */ fun save(onDone: () -> Unit) { viewModelScope.launch(Dispatchers.IO) { - blacklistDatabase.writePaths(mPaths.value!!) + excludedDatabase.writePaths(mPaths.value!!) dbPaths = mPaths.value!! onDone() @@ -81,7 +81,7 @@ class ExcludedViewModel(context: Context) : ViewModel() { */ private fun loadDatabasePaths() { viewModelScope.launch(Dispatchers.IO) { - dbPaths = blacklistDatabase.readPaths() + dbPaths = excludedDatabase.readPaths() withContext(Dispatchers.Main) { mPaths.value = dbPaths.toMutableList() @@ -97,7 +97,7 @@ class ExcludedViewModel(context: Context) : ViewModel() { class Factory(private val context: Context) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { check(modelClass.isAssignableFrom(ExcludedViewModel::class.java)) { - "BlacklistViewModel.Factory does not support this class" + "ExcludedViewModel.Factory does not support this class" } @Suppress("UNCHECKED_CAST") diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackFragment.kt index 99ea70a5c..f39beed15 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackFragment.kt @@ -23,7 +23,6 @@ import android.view.LayoutInflater import android.view.MenuItem import android.view.View import android.view.ViewGroup -import androidx.core.view.iterator import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt index 739426975..b38eac27a 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt @@ -29,7 +29,6 @@ import org.oxycblt.auxio.music.ActionHeader import org.oxycblt.auxio.music.BaseModel import org.oxycblt.auxio.music.Header import org.oxycblt.auxio.music.Song -import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.ui.ActionHeaderViewHolder import org.oxycblt.auxio.ui.BaseViewHolder 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. * @param touchHelper The [ItemTouchHelper] ***containing*** [QueueDragCallback] to be used - * @param playbackModel The [PlaybackViewModel] for updates to be dispatched to * @author OxygenCobalt */ class QueueAdapter( diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt index d41677afe..5fa1d0c15 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt @@ -27,7 +27,6 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.ItemTouchHelper -import kotlinx.coroutines.NonDisposableHandle.parent import org.oxycblt.auxio.R import org.oxycblt.auxio.databinding.FragmentQueueBinding import org.oxycblt.auxio.music.ActionHeader diff --git a/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt b/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt index e940817f4..970867cc9 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt @@ -53,7 +53,7 @@ class AboutFragment : Fragment() { val musicStore = MusicStore.getInstance() binding.applyEdge { bars -> - binding.aboutAppbar.updatePadding(top = bars.top,) + binding.aboutAppbar.updatePadding(top = bars.top) binding.aboutContents.updatePadding(bottom = bars.bottom) } diff --git a/app/src/main/java/org/oxycblt/auxio/settings/IntListPrefDialog.kt b/app/src/main/java/org/oxycblt/auxio/settings/IntListPrefDialog.kt index 890296e44..8cf8fbe94 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/IntListPrefDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/IntListPrefDialog.kt @@ -20,12 +20,8 @@ package org.oxycblt.auxio.settings import android.os.Bundle 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 org.oxycblt.auxio.BuildConfig -import org.oxycblt.auxio.R import org.oxycblt.auxio.ui.LifecycleDialog class IntListPrefDialog : LifecycleDialog() { @@ -37,23 +33,7 @@ class IntListPrefDialog : LifecycleDialog() { .findPreference(requireArguments().getString(ARG_KEY, null)) ) - // Don't set the title. Instead, Set a custom title view so that the padding is actually a - // 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.setTitle(pref.title) builder.setSingleChoiceItems(pref.entries, pref.getValueIndex()) { _, index -> pref.setValueIndex(index) diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt index 3c4791f9e..fdee55273 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt @@ -21,7 +21,7 @@ package org.oxycblt.auxio.settings import android.content.SharedPreferences import androidx.appcompat.app.AppCompatDelegate 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.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 (accent > ACCENTS.lastIndex) { - accent = ACCENTS.lastIndex + if (accent > ACCENT_PRIMARY_COLORS.lastIndex) { + accent = ACCENT_PRIMARY_COLORS.lastIndex } prefs.edit { @@ -80,10 +80,10 @@ fun handleAccentCompat(prefs: SharedPreferences): Accent { 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 { diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt index fff229e8d..f35cff086 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt @@ -22,7 +22,6 @@ import android.content.Context import android.content.SharedPreferences import androidx.core.content.edit import androidx.preference.PreferenceManager -import org.oxycblt.auxio.accent.ACCENTS import org.oxycblt.auxio.accent.Accent import org.oxycblt.auxio.playback.state.PlaybackMode import org.oxycblt.auxio.ui.DisplayMode @@ -58,12 +57,8 @@ class SettingsManager private constructor(context: Context) : var accent: Accent get() = handleAccentCompat(sharedPrefs) set(value) { - val accentIndex = ACCENTS.indexOf(value) - - check(accentIndex != -1) { "Invalid accent" } - sharedPrefs.edit { - putInt(KEY_ACCENT, accentIndex) + putInt(KEY_ACCENT, value.index) apply() } } diff --git a/app/src/main/java/org/oxycblt/auxio/ui/LifecycleDialog.kt b/app/src/main/java/org/oxycblt/auxio/ui/LifecycleDialog.kt index e9328935d..519bfbd46 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/LifecycleDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/LifecycleDialog.kt @@ -23,11 +23,8 @@ import android.os.Bundle import android.view.View import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatDialogFragment -import androidx.core.graphics.drawable.toDrawable import androidx.fragment.app.DialogFragment 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 @@ -37,9 +34,6 @@ abstract class LifecycleDialog : AppCompatDialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val builder = MaterialAlertDialogBuilder(requireActivity(), theme) - // Apply a custom background to avoid rounded corners. - builder.background = R.attr.colorSurface.resolveAttr(requireContext()).toDrawable() - onConfigDialog(builder) return builder.create() diff --git a/app/src/main/java/org/oxycblt/auxio/util/ContextUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/ContextUtil.kt index c926c5195..052097ac5 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/ContextUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/ContextUtil.kt @@ -107,16 +107,6 @@ fun Context.isLandscape(): Boolean { 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. */ diff --git a/app/src/main/java/org/oxycblt/auxio/util/DbUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/DbUtil.kt index 5d7d93fb3..8895960a6 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/DbUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/DbUtil.kt @@ -21,7 +21,6 @@ package org.oxycblt.auxio.util import android.database.Cursor import android.database.sqlite.SQLiteDatabase import android.os.Looper -import org.oxycblt.auxio.R /** * Shortcut for querying all items in a database and running [block] with the cursor returned. diff --git a/app/src/main/java/org/oxycblt/auxio/util/ViewUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/ViewUtil.kt index e25c1d4a1..82f69f8f8 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/ViewUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/ViewUtil.kt @@ -27,7 +27,6 @@ import android.os.Build import android.util.TypedValue import android.view.View import android.view.WindowInsets -import android.widget.ImageButton import androidx.annotation.AttrRes import androidx.annotation.ColorInt import androidx.annotation.ColorRes @@ -86,17 +85,6 @@ fun RecyclerView.applySpans(shouldBeFullWidth: ((Int) -> Boolean)? = null) { */ 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. * @param context [Context] required diff --git a/app/src/main/res/animator/animator_thumb.xml b/app/src/main/res/animator/animator_thumb.xml deleted file mode 100644 index 44a8314f2..000000000 --- a/app/src/main/res/animator/animator_thumb.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/color/overlay_disabled.xml b/app/src/main/res/color/overlay_disabled.xml index 057dffcd5..5e67a4dd7 100644 --- a/app/src/main/res/color/overlay_disabled.xml +++ b/app/src/main/res/color/overlay_disabled.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/overlay_popup.xml b/app/src/main/res/color/overlay_popup.xml deleted file mode 100644 index beffdd9c0..000000000 --- a/app/src/main/res/color/overlay_popup.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/color/overlay_selection.xml b/app/src/main/res/color/overlay_selection.xml index 80a7fd0b2..31b3be26b 100644 --- a/app/src/main/res/color/overlay_selection.xml +++ b/app/src/main/res/color/overlay_selection.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/overlay_divider.xml b/app/src/main/res/color/overlay_stroke.xml similarity index 62% rename from app/src/main/res/color/overlay_divider.xml rename to app/src/main/res/color/overlay_stroke.xml index 4a39294e2..21337acc3 100644 --- a/app/src/main/res/color/overlay_divider.xml +++ b/app/src/main/res/color/overlay_stroke.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/sel_accented.xml b/app/src/main/res/color/sel_accented.xml index 9b80db312..8f06bce61 100644 --- a/app/src/main/res/color/sel_accented.xml +++ b/app/src/main/res/color/sel_accented.xml @@ -1,6 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/sel_accented_primary.xml b/app/src/main/res/color/sel_accented_primary.xml index 7b1681d96..e72a8e2ec 100644 --- a/app/src/main/res/color/sel_accented_primary.xml +++ b/app/src/main/res/color/sel_accented_primary.xml @@ -1,6 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/color/sel_accented_secondary.xml b/app/src/main/res/color/sel_accented_secondary.xml index 82ee15d01..105bf5c7a 100644 --- a/app/src/main/res/color/sel_accented_secondary.xml +++ b/app/src/main/res/color/sel_accented_secondary.xml @@ -1,6 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_accent.xml b/app/src/main/res/drawable/ic_accent.xml index d769b5e76..485d365af 100644 --- a/app/src/main/res/drawable/ic_accent.xml +++ b/app/src/main/res/drawable/ic_accent.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/ic_album.xml b/app/src/main/res/drawable/ic_album.xml index e9601bf25..d5e444134 100644 --- a/app/src/main/res/drawable/ic_album.xml +++ b/app/src/main/res/drawable/ic_album.xml @@ -2,7 +2,7 @@ - - - diff --git a/app/src/main/res/drawable/ic_loop_on.xml b/app/src/main/res/drawable/ic_loop_on.xml index 43ba9699c..81210d67a 100644 --- a/app/src/main/res/drawable/ic_loop_on.xml +++ b/app/src/main/res/drawable/ic_loop_on.xml @@ -2,7 +2,7 @@ + android:color="@color/overlay_selection"> diff --git a/app/src/main/res/drawable/ui_cursor.xml b/app/src/main/res/drawable/ui_cursor.xml deleted file mode 100644 index 0a0b99ca9..000000000 --- a/app/src/main/res/drawable/ui_cursor.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ui_header_dividers.xml b/app/src/main/res/drawable/ui_header_dividers.xml index 0f07bd2e6..0ce36b4d7 100644 --- a/app/src/main/res/drawable/ui_header_dividers.xml +++ b/app/src/main/res/drawable/ui_header_dividers.xml @@ -7,7 +7,7 @@ + android:color="?attr/colorOutline" /> diff --git a/app/src/main/res/layout/dialog_accent.xml b/app/src/main/res/layout/dialog_accent.xml index 08b3fef5b..fcd061e6b 100644 --- a/app/src/main/res/layout/dialog_accent.xml +++ b/app/src/main/res/layout/dialog_accent.xml @@ -9,6 +9,9 @@ android:layout_height="match_parent" android:overScrollMode="never" 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:layout_constraintBottom_toTopOf="@+id/accent_cancel" app:layout_constraintTop_toBottomOf="@+id/accent_header" diff --git a/app/src/main/res/layout/dialog_title.xml b/app/src/main/res/layout/dialog_title.xml deleted file mode 100644 index 1d7b05c0c..000000000 --- a/app/src/main/res/layout/dialog_title.xml +++ /dev/null @@ -1,13 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 81ed7122a..540a89941 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -34,11 +34,9 @@ android:layout_height="wrap_content" android:background="@android:color/transparent" app:tabContentStart="@dimen/spacing_medium" - app:tabIndicatorColor="?attr/colorAccent" app:tabMode="scrollable" app:tabTextAppearance="@style/TextAppearance.Auxio.TabLayout.Label" - app:tabTextColor="?android:attr/textColorPrimary" - app:tabUnboundedRipple="true" /> + app:tabTextColor="@color/sel_accented_primary"/> diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index 544bd6898..e54a825da 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -28,7 +28,7 @@ android:layout_height="wrap_content" app:hintEnabled="false" app:boxBackgroundMode="filled" - app:boxStrokeColor="?attr/colorAccent" + app:boxStrokeColor="?attr/colorPrimary" app:boxStrokeWidth="0dp" app:boxStrokeWidthFocused="@dimen/size_stroke_large" app:endIconContentDescription="@string/desc_clear_search" @@ -45,8 +45,7 @@ android:hint="@string/hint_search_library" android:padding="@dimen/spacing_medium" android:imeOptions="actionSearch|flagNoExtractUi" - android:inputType="textFilter" - android:textCursorDrawable="@drawable/ui_cursor" /> + android:inputType="textFilter" /> diff --git a/app/src/main/res/layout/item_accent.xml b/app/src/main/res/layout/item_accent.xml index ee375e862..d6b3ffd51 100644 --- a/app/src/main/res/layout/item_accent.xml +++ b/app/src/main/res/layout/item_accent.xml @@ -17,7 +17,7 @@ android:padding="@dimen/spacing_medium" android:scaleType="fitCenter" android:src="@drawable/ic_check" - tools:backgroundTint="?attr/colorAccent" + tools:backgroundTint="?attr/colorPrimary" tools:ignore="ContentDescription, SpeakableTextPresentCheck" /> diff --git a/app/src/main/res/layout/item_album.xml b/app/src/main/res/layout/item_album.xml index 2c3b89fba..d333c446e 100644 --- a/app/src/main/res/layout/item_album.xml +++ b/app/src/main/res/layout/item_album.xml @@ -25,9 +25,9 @@ @@ -12,6 +14,8 @@ + app:showAsAction="never" /> + app:showAsAction="never" /> \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 0b0d6b98e..f4aa63d0d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -10,7 +10,6 @@ "Zkusit znovu" "Udělit" - "Knihovna" "Žánry" "Umělci" "Alba" @@ -60,9 +59,6 @@ "Černé téma" "Použít kompletně černé tmavé téma" "Zobrazení" - "Položky knihovny" - "Obarvit oznámení" - "Zobrazit obrázek alba v oznámení" "Zobrazit barvy alba" "Vypněte pro ušetření paměti" "Ignorovat obaly MediaStore" @@ -100,7 +96,6 @@ "Prohledat vaši knihovnu…" - "Změnit pořadí řazení" "Stopa %d" "Přehrát nebo pozastavit" "Přeskočit na další skladbu" @@ -119,8 +114,6 @@ "Neznámý žánr" - "Neznámý umělec" - "Neznámé album" "Neznámé datum" "Nehraje žádná hudba" "Název skladby" @@ -142,8 +135,8 @@ "Žlutá" "Oranžová" "Tmavě oranžová" - "Hnědá" - "Šedá" + "Hnědá" + "Šedá" "Modrá šedá" diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 491ea7d72..2c1236f86 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -7,7 +7,6 @@ Erneut versuchen Gewähren - Bibliothek Genres Künstler Alben @@ -62,9 +61,6 @@ Akzentfarbe Anzeige - Musikbibliothekeinträge - Benachrichtigung farblich anpassen - Albumcover in Benachrichtigung zeigen Albumcover anzeigen Ausschalten um Speicherplatz zu sparen MediaStore Cover ignorieren @@ -103,7 +99,6 @@ Musikbibliothek durchsuchen… - Reihenfolge ändern Titel %d Abspielen oder Pausieren @@ -121,8 +116,6 @@ Unbekanntes Genre - Unbekannter Künstler - Unbekanntes Album Kein Datum @@ -141,8 +134,8 @@ Gelb Orange Tieforange - Braun - Grau + Braun + Grau Blaugrau diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index cb66358b8..fb30f6606 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -4,7 +4,6 @@ Προσπάθεια εκ νέου Χορήγησε - Βιβλιοθήκη Είδη Καλλιτέχνες Άλμπουμ @@ -45,7 +44,6 @@ Σκοτεινό Χρώμα χαρακτήρων - Χρωματισμός ειδοποιήσεων Παράληψη των Media Store εξωφύλλων Ήχος @@ -74,8 +72,8 @@ Πράσινος Κίτρινος Κίτρινος Πορτοκαλής - Καφέ - Γκρί + Καφέ + Γκρί Γαλάζιος Γκρί diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index e051c1f45..b019f1c0b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -8,7 +8,6 @@ Reintentar Permitir - Biblioteca Géneros Artistas Álbum @@ -65,9 +64,6 @@ Usar tema negro puro Pantalla - Ítem de biblioteca - Ajustar color de notificación - Mostrar imagen de álbum en la notificación Mostrar carátula de álbum Desactivar para ahorrar uso de memoria Ignorar carátulas de MediaStore @@ -106,7 +102,6 @@ Busca en tu biblioteca… - Cambiar el orden de clasificación Pista %d Reproducir o Pausar @@ -125,8 +120,6 @@ Género desconocido - Artista desconocido - Álbum desconocido Sin fecha @@ -145,8 +138,8 @@ Amarillo Naranja Naranja Profundo - Café - Gris + Café + Gris Azul Gris diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 63ea26311..1d33263b9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -4,7 +4,6 @@ Réessayer Accorder - Bibliothèque Genres Artistes Albums @@ -48,8 +47,6 @@ Sombre Couleur d\'accentuation - Objets Bibliothèque - Notification colorée Ignorer le stockage des pochettes Audio @@ -84,8 +81,8 @@ Vert Citron Jaune Orange - Brun - Gris + Brun + Gris Bleu Gris diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 3b7f19224..288b00bc7 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -5,7 +5,6 @@ अनुदान कलाकार - पुस्तकालय एल्बम गीत गीत @@ -40,8 +39,6 @@ स्वचलित एक्सेंट - अधिसूचना को रंग दें - ऑडियो ऑडियो फोकस हेडसेट प्लग diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index d51914bfd..596ab1a83 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -4,7 +4,6 @@ Újra Engedélyezés - Könyvtár Műfajo Előadók Albumok @@ -47,7 +46,6 @@ Sötét Kiemelés - Értesítés színezése A médiatár albumborítók figyelmen kívül hagyása Hang @@ -83,8 +81,8 @@ Sárgazöld Sárga Narancs - Barna - Szürke + Barna + Szürke Kékszürke diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 581bc1029..76b906667 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -4,7 +4,6 @@ Ulangi Izinkan - Pustaka Aliran Artis Album @@ -47,7 +46,6 @@ Gelap Aksen - Warnai Notifikasi Abaikan sampul-sampul pada Media Penyimpanan Audio diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0791941ed..ca60512b8 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -4,7 +4,6 @@ Riprova Permetti - Libreria Generi Artisti Albums @@ -48,7 +47,6 @@ Scuro Accento - Colora notifica Ignora le copertine del Media Store Audio @@ -84,8 +82,8 @@ Verde Giallo Giallo Arancio - Bruno - Grigio + Bruno + Grigio Azzurro Grigio diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index c57ef48eb..1ad94bff5 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -4,7 +4,6 @@ 재시도 허가 - 보관함 장르 아티스트 앨범 @@ -46,7 +45,6 @@ 어두운 테마 강조 - 색상화된 알림 미디어 스토어 앨범 커버 무시 오디오 diff --git a/app/src/main/res/values-night-v31/styles_core.xml b/app/src/main/res/values-night-v31/styles_core.xml new file mode 100644 index 000000000..a38b2b700 --- /dev/null +++ b/app/src/main/res/values-night-v31/styles_core.xml @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index fd85e9434..3a4b0a7e5 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -1,29 +1,118 @@ - #202124 + #1f1f1f #ffffff #01151515 - #ef9a9a - #f48fb1 - #ce93d8 - #b39ddb - #9fa8da - #90caf9 - #81d4fa - #80deea - #80cbc4 - #a5d6a7 - #c5e1a5 - #e6ee9c - #ffe082 - #ffcc80 - #ffab91 - #bcaaa4 - #cfcfcf - #b0bec5 + @color/red_80 + @color/red_20 + @color/red_40 + @color/red_30 + @color/red_90 + + @color/pink_80 + @color/pink_20 + @color/pink_40 + @color/pink_30 + @color/pink_90 + + @color/purple_80 + @color/purple_20 + @color/purple_40 + @color/purple_30 + @color/purple_90 + + @color/deep_purple_80 + @color/deep_purple_20 + @color/deep_purple_40 + @color/deep_purple_30 + @color/deep_purple_90 + + @color/indigo_80 + @color/indigo_20 + @color/indigo_40 + @color/indigo_30 + @color/indigo_90 + + @color/blue_80 + @color/blue_20 + @color/blue_40 + @color/blue_30 + @color/blue_90 + + @color/light_blue_80 + @color/light_blue_20 + @color/light_blue_40 + @color/light_blue_30 + @color/light_blue_90 + + @color/cyan_80 + @color/cyan_20 + @color/cyan_40 + @color/cyan_30 + @color/cyan_90 + + @color/teal_80 + @color/teal_20 + @color/teal_40 + @color/teal_30 + @color/teal_90 + + @color/green_80 + @color/green_20 + @color/green_40 + @color/green_30 + @color/green_90 + + @color/light_green_80 + @color/light_green_20 + @color/light_green_40 + @color/light_green_30 + @color/light_green_90 + + @color/lime_80 + @color/lime_20 + @color/lime_40 + @color/lime_30 + @color/lime_90 + + @color/yellow_80 + @color/yellow_20 + @color/yellow_40 + @color/yellow_30 + @color/yellow_90 + + @color/orange_80 + @color/orange_20 + @color/orange_40 + @color/orange_30 + @color/orange_90 + + @color/deep_orange_80 + @color/deep_orange_20 + @color/deep_orange_40 + @color/deep_orange_30 + @color/deep_orange_90 + + @color/brown_80 + @color/brown_20 + @color/brown_40 + @color/brown_30 + @color/brown_90 + + @color/grey_80 + @color/grey_20 + @color/grey_40 + @color/grey_30 + @color/grey_90 + + @color/blue_grey_80 + @color/blue_grey_20 + @color/blue_grey_40 + @color/blue_grey_30 + @color/blue_grey_90 \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index cd999fa92..cbce9f449 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -8,7 +8,6 @@ Opnieuw proberen Toestaan - Bibliotheek Genres Artiesten Albums @@ -63,9 +62,6 @@ Accent Scherm - Bibliotheek Items - Notificatie kleur aanpassen - Toon album art op notification Toon albumhoezen Schakel uit om geheugengebruik te besparen Negeer Mediaopslag illustraties @@ -104,7 +100,6 @@ Zoek in uw bibliotheek… - Sorteervolgorde wijzigen Nummer %d Afspelen/Pauzeren @@ -123,8 +118,6 @@ Onbekend Genre - Onbekend Artist - Onbekend Album Geen datum @@ -143,8 +136,8 @@ Geel Oranje Dieporanje - Bruin - Grijis + Bruin + Grijis Blauwgrijis diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f3c816bc0..41e34e1b9 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -4,7 +4,6 @@ Ponów Przyznaj - Biblioteka Gatunki Wykonawcy Albumy @@ -47,7 +46,6 @@ Ciemny Odcień koloru - Pokolorowanie powiadomienia Ignoruj okładki z Media Store Dźwięk @@ -81,8 +79,8 @@ Żółtyzielony Żółty Pomarańczowy - Brązowy - Szary + Brązowy + Szary Błękitszary diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index b36ef2b07..0d514c325 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -4,7 +4,6 @@ Tentar novamente Confirmar - Biblioteca Gêneros Artistas Álbuns @@ -47,7 +46,6 @@ Escuro Cor de destaque - Colorir notificação Ignorar capas Media Store Áudio @@ -82,8 +80,8 @@ Verde-amarelo Amarelo Laranja - Moreno - Grisalho + Moreno + Grisalho Azul-grisalho diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index e1ac55926..7cfb76c43 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -4,7 +4,6 @@ Tentar novamente Permitir - Biblioteca Gêneros Artistas Álbuns @@ -48,7 +47,6 @@ Automático Cor de realce - Colorir notificação Ignorar capas Media Store Áudio @@ -83,8 +81,8 @@ Verde-amarelo Amarelo Laranja - Moreno - Grisalho + Moreno + Grisalho Azul-grisalho diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index d968f9c78..bb32eedd6 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -4,7 +4,6 @@ Reîncearcă Permiteți - Bibliotecă Genuri Artiști Albume @@ -48,7 +47,6 @@ Întunecat Culoare accentuată - Colorează notificarea Ignoră coperțile Media Store Audio @@ -82,8 +80,8 @@ Verde Galben Galben Portocaliu - Brun - Gri + Brun + Gri Albastru Gri diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 883520a90..2e8083e18 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -4,7 +4,6 @@ Повторить попытку Разрешить - Библиотека Жанры Исполнители Альбомы @@ -47,7 +46,6 @@ Темная Акцент - Цветное уведомление Игнорировать хранилище обложек альбомов Аудио @@ -80,7 +78,7 @@ Оранжевый Жёлтый Коричневый - Седой + Седой Нейтральный diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 509c76d82..0e7f22b8b 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -4,7 +4,6 @@ Yeniden dene İzin - Kitaplık Türler Sanatçılar Albümler @@ -47,7 +46,6 @@ Koyu Ana Renk - Bildirimi renklendir Medya Deposu albüm kapağını yoksay Ses diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index fffc7734c..320dc0e94 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -4,7 +4,6 @@ Повторити спробу Надати - Бібліотека Жанри Виконавці Альбоми diff --git a/app/src/main/res/values-v31/styles_core.xml b/app/src/main/res/values-v31/styles_core.xml index d24740cfa..3b0c87750 100644 --- a/app/src/main/res/values-v31/styles_core.xml +++ b/app/src/main/res/values-v31/styles_core.xml @@ -1,12 +1,65 @@ - + - - - diff --git a/app/src/main/res/values/styles_core.xml b/app/src/main/res/values/styles_core.xml index 1cfb8f659..274828b79 100644 --- a/app/src/main/res/values/styles_core.xml +++ b/app/src/main/res/values/styles_core.xml @@ -1,49 +1,41 @@ - > diff --git a/app/src/main/res/values/styles_ui.xml b/app/src/main/res/values/styles_ui.xml index 9fca85998..c39efd9fe 100644 --- a/app/src/main/res/values/styles_ui.xml +++ b/app/src/main/res/values/styles_ui.xml @@ -2,15 +2,11 @@ - - - @@ -29,19 +25,15 @@ @@ -65,11 +57,10 @@ 0dp - - - \ No newline at end of file diff --git a/app/src/main/res/values/themes_black.xml b/app/src/main/res/values/themes_black.xml index 2e5fbf940..2a7a21399 100644 --- a/app/src/main/res/values/themes_black.xml +++ b/app/src/main/res/values/themes_black.xml @@ -4,74 +4,146 @@ All the base themes/accents. --> \ No newline at end of file diff --git a/app/src/main/res/xml-v31/prefs_main.xml b/app/src/main/res/xml-v31/prefs_main.xml new file mode 100644 index 000000000..a06a0a624 --- /dev/null +++ b/app/src/main/res/xml-v31/prefs_main.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/prefs_main.xml b/app/src/main/res/xml/prefs_main.xml index 59ff2cf44..b1949aeee 100644 --- a/app/src/main/res/xml/prefs_main.xml +++ b/app/src/main/res/xml/prefs_main.xml @@ -101,7 +101,7 @@ app:summary="@string/set_keep_shuffle_desc" app:title="@string/set_keep_shuffle" /> - -