From 668006724b37efa62220cfba854bf0ce1788625f Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Wed, 15 Jun 2022 20:08:15 -0600 Subject: [PATCH] ui: make default accent dynamic on api 31 Make the default accent the dynamic accent on API 31. This is to make Auxio's Material You support obvious to the user. --- CHANGELOG.md | 2 +- .../oxycblt/auxio/settings/SettingsCompat.kt | 3 +-- .../org/oxycblt/auxio/ui/accent/Accent.kt | 11 ++++++-- app/src/main/res/drawable/ic_equalizer.xml | 21 +++++++-------- app/src/main/res/layout/dialog_music_dirs.xml | 26 +++++++++---------- app/src/main/res/layout/dialog_pre_amp.xml | 4 +-- .../main/res/layout/dialog_song_detail.xml | 12 ++++----- app/src/main/res/layout/fragment_search.xml | 2 +- app/src/main/res/layout/item_disc_header.xml | 2 +- app/src/main/res/values-sw600dp/styles_ui.xml | 1 + .../main/res/values-v31/styles_android.xml | 1 + 11 files changed, 46 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70c754a45..e945848c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,6 @@ - Added a new view for song properties (Such as Bitrate) - The playback bar now has a new design, with an improved progress indicator and a skip action -- When playing, covers now show an indicator #### What's Improved - The toolbar in the home UI now collapses when scrolling @@ -19,6 +18,7 @@ - Added song actions to the playback panel - Playback controls are now easier to reach when gesture navigation is enabled - Added Play Next/Add to Queue options to artists and genres +- Covers in the detail views now show an indicator when playing #### What's Fixed - Playback bar now picks the larger inset in case that gesture inset is missing [#149] 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 c1c2eed06..54aba036c 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsCompat.kt @@ -81,8 +81,7 @@ fun handleAccentCompat(prefs: SharedPreferences): Accent { } } - // TODO: Default accent on android 12 should be dynamic colors - return Accent.from(prefs.getInt(SettingsManager.KEY_ACCENT, 5)) + return Accent.from(prefs.getInt(SettingsManager.KEY_ACCENT, Accent.DEFAULT)) } /** diff --git a/app/src/main/java/org/oxycblt/auxio/ui/accent/Accent.kt b/app/src/main/java/org/oxycblt/auxio/ui/accent/Accent.kt index e53a90c25..e0835b29c 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/accent/Accent.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/accent/Accent.kt @@ -19,7 +19,7 @@ package org.oxycblt.auxio.ui.accent import android.os.Build import org.oxycblt.auxio.R -import org.oxycblt.auxio.util.logW +import org.oxycblt.auxio.util.logEOrThrow private val ACCENT_NAMES = intArrayOf( @@ -131,13 +131,20 @@ class Accent private constructor(val index: Int) { companion object { fun from(index: Int): Accent { if (index > (MAX - 1)) { - logW("Account outside of bounds [idx: $index, max: $MAX]") + logEOrThrow("Account outside of bounds [idx: $index, max: $MAX]") return Accent(5) } return Accent(index) } + val DEFAULT = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + ACCENT_THEMES.lastIndex + } else { + 5 + } + /** * The maximum amount of accents that are valid. This excludes the dynamic accent on * versions that do not support it. diff --git a/app/src/main/res/drawable/ic_equalizer.xml b/app/src/main/res/drawable/ic_equalizer.xml index c131a0cea..96de55b64 100644 --- a/app/src/main/res/drawable/ic_equalizer.xml +++ b/app/src/main/res/drawable/ic_equalizer.xml @@ -1,13 +1,12 @@ - - - + + + diff --git a/app/src/main/res/layout/dialog_music_dirs.xml b/app/src/main/res/layout/dialog_music_dirs.xml index 98e306bd3..acac52440 100644 --- a/app/src/main/res/layout/dialog_music_dirs.xml +++ b/app/src/main/res/layout/dialog_music_dirs.xml @@ -2,10 +2,10 @@ + android:orientation="vertical"> + app:singleSelection="true">