From 6fc3c9374c99b4685f521974b49382f52d8464e2 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Mon, 21 Feb 2022 16:57:03 -0700 Subject: [PATCH] style: rework dynamic colors Allow the material library to handle dynamic colors. Turns out I was mis-understanding how DynamicColor themes were meant to be used by the material library. Turns out you can just inherit from it and it will work perfectly fine. Refactor the V31 styles to remove our insane shims and finally fix the slapdash dynamic color usage across the main theme and widgets. --- CHANGELOG.md | 4 + .../oxycblt/auxio/playback/PlaybackButton.kt | 16 ++-- .../main/res/drawable/ic_remote_loop_off.xml | 2 +- .../res/drawable/ic_remote_shuffle_off.xml | 2 +- .../main/res/values-night-v31/styles_core.xml | 91 ------------------- app/src/main/res/values-night/colors.xml | 4 + app/src/main/res/values-v31/styles_core.xml | 87 +----------------- app/src/main/res/values/colors.xml | 4 + app/src/main/res/values/styles_android.xml | 5 - app/src/main/res/values/styles_core.xml | 4 +- 10 files changed, 30 insertions(+), 189 deletions(-) delete mode 100644 app/src/main/res/values-night-v31/styles_core.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index c4d380b17..4a0328f5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,12 @@ ## dev [v2.2.2 or 2.3.0] +#### What's Improved +- Shuffle and Repeat mode buttons now have more contrast when they are turned on + #### Dev/Meta - Enabled elevation drop shadows below Android P for consistency +- Reworked dynamic color usage ## v2.2.1 #### What's Improved diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackButton.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackButton.kt index c89d8ccba..a79ec014b 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackButton.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackButton.kt @@ -41,14 +41,16 @@ class PlaybackButton @JvmOverloads constructor( scaleType = ScaleType.MATRIX setBackgroundResource(R.drawable.ui_large_unbounded_ripple) - context.obtainStyledAttributes(attrs, R.styleable.PlaybackButton).use { arr -> - val hasIndicator = arr.getBoolean(R.styleable.PlaybackButton_hasIndicator, false) - indicatorDrawable = if (hasIndicator) { - context.getDrawableSafe(R.drawable.ui_indicator) - } else { - null - } + val styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.PlaybackButton) + + val hasIndicator = styledAttrs.getBoolean(R.styleable.PlaybackButton_hasIndicator, false) + indicatorDrawable = if (hasIndicator) { + context.getDrawableSafe(R.drawable.ui_indicator) + } else { + null } + + styledAttrs.recycle() } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { diff --git a/app/src/main/res/drawable/ic_remote_loop_off.xml b/app/src/main/res/drawable/ic_remote_loop_off.xml index 433c53d66..2e5c0ed3c 100644 --- a/app/src/main/res/drawable/ic_remote_loop_off.xml +++ b/app/src/main/res/drawable/ic_remote_loop_off.xml @@ -6,6 +6,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/ic_remote_shuffle_off.xml b/app/src/main/res/drawable/ic_remote_shuffle_off.xml index c51c1c77c..b8cc6e16e 100644 --- a/app/src/main/res/drawable/ic_remote_shuffle_off.xml +++ b/app/src/main/res/drawable/ic_remote_shuffle_off.xml @@ -6,6 +6,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/values-night-v31/styles_core.xml b/app/src/main/res/values-night-v31/styles_core.xml deleted file mode 100644 index 0f535da59..000000000 --- a/app/src/main/res/values-night-v31/styles_core.xml +++ /dev/null @@ -1,91 +0,0 @@ - -> - - - - - \ 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 87590ca2a..ab00f5223 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -385,4 +385,8 @@ #C8C8C8 #fafafa #191919 + + @color/material_dynamic_secondary20 + @color/material_dynamic_neutral90 + @color/material_dynamic_neutral20 \ No newline at end of file diff --git a/app/src/main/res/values-v31/styles_core.xml b/app/src/main/res/values-v31/styles_core.xml index 8b2afb083..19fb67673 100644 --- a/app/src/main/res/values-v31/styles_core.xml +++ b/app/src/main/res/values-v31/styles_core.xml @@ -1,91 +1,12 @@ - - - - + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 1f05f9332..de0f10d2f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -386,4 +386,8 @@ #484848 #1f1f1f #F0F0F0 + + @color/material_dynamic_primary95 + @color/material_dynamic_neutral80 + @color/material_dynamic_neutral95 \ No newline at end of file diff --git a/app/src/main/res/values/styles_android.xml b/app/src/main/res/values/styles_android.xml index b58b27e90..4b794a828 100644 --- a/app/src/main/res/values/styles_android.xml +++ b/app/src/main/res/values/styles_android.xml @@ -67,11 +67,6 @@ @dimen/spacing_small - - -