From 276f0671529cd4f256350361c65b4a88fa27785d Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Mon, 18 Jul 2022 10:06:26 -0600 Subject: [PATCH] ui: update material components Update MDC to the alpha version in order to use some extra features. I was planning to switch to the new MaterialSwitch, but alpha03 has this insane crippling issue with ripples that blocks such. Use alpha02 and prep the app for the addition of the switch. --- app/build.gradle | 2 +- .../java/org/oxycblt/auxio/music/Music.kt | 7 +- .../oxycblt/auxio/widgets/WidgetProvider.kt | 5 +- .../main/res/color/sel_icon_button_ripple.xml | 21 ++++++ app/src/main/res/drawable/ic_play_24.xml | 10 +-- app/src/main/res/drawable/ic_skip_next_24.xml | 10 +-- app/src/main/res/drawable/ic_skip_prev_24.xml | 10 +-- .../res/layout/view_preference_switch.xml | 10 +++ app/src/main/res/values-v27/styles_core.xml | 1 + app/src/main/res/values/styles_android.xml | 21 ++++++ app/src/main/res/values/styles_core.xml | 12 +++- app/src/main/res/values/styles_ui.xml | 8 +-- app/src/main/res/values/themes_black.xml | 1 + app/src/main/res/xml/prefs_main.xml | 72 +++++-------------- 14 files changed, 105 insertions(+), 85 deletions(-) create mode 100644 app/src/main/res/color/sel_icon_button_ripple.xml create mode 100644 app/src/main/res/layout/view_preference_switch.xml diff --git a/app/build.gradle b/app/build.gradle index 8d41a597a..2376637c3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -99,7 +99,7 @@ dependencies { implementation "io.coil-kt:coil:2.1.0" // Material - implementation "com.google.android.material:material:1.6.1" + implementation "com.google.android.material:material:1.7.0-alpha02" // LeakCanary debugImplementation "com.squareup.leakcanary:leakcanary-android:2.9.1" diff --git a/app/src/main/java/org/oxycblt/auxio/music/Music.kt b/app/src/main/java/org/oxycblt/auxio/music/Music.kt index a5c4a7d04..8b018ae6a 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/Music.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/Music.kt @@ -112,7 +112,9 @@ data class Song( get() { var result = rawName.lowercase().hashCode().toLong() result = 31 * result + album.rawName.lowercase().hashCode() - result = 31 * result + (album.artist.rawName?.lowercase() ?: MediaStore.UNKNOWN_STRING).hashCode() + result = + 31 * result + + (album.artist.rawName?.lowercase() ?: MediaStore.UNKNOWN_STRING).hashCode() result = 31 * result + (track ?: 0) result = 31 * result + (disc ?: 0) result = 31 * result + durationMs @@ -219,7 +221,8 @@ data class Album( override val id: Long get() { var result = rawName.lowercase().hashCode().toLong() - result = 31 * result + (artist.rawName?.lowercase() ?: MediaStore.UNKNOWN_STRING).hashCode() + result = + 31 * result + (artist.rawName?.lowercase() ?: MediaStore.UNKNOWN_STRING).hashCode() result = 31 * result + (date?.year ?: 0) return result } diff --git a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt index 3a5f57303..a30a6e628 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt @@ -17,7 +17,6 @@ package org.oxycblt.auxio.widgets -import android.appwidget.AppWidgetHostView import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetProvider import android.content.ComponentName @@ -132,9 +131,7 @@ class WidgetProvider : AppWidgetProvider() { // Each widget has independent dimensions, so we iterate through them all // and do this for each. - val ids = getAppWidgetIds(name) - - for (id in ids) { + for (id in getAppWidgetIds(name)) { val options = getAppWidgetOptions(id) val width: Int diff --git a/app/src/main/res/color/sel_icon_button_ripple.xml b/app/src/main/res/color/sel_icon_button_ripple.xml new file mode 100644 index 000000000..24d2f43cd --- /dev/null +++ b/app/src/main/res/color/sel_icon_button_ripple.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_play_24.xml b/app/src/main/res/drawable/ic_play_24.xml index 7182e0579..cef334c5f 100644 --- a/app/src/main/res/drawable/ic_play_24.xml +++ b/app/src/main/res/drawable/ic_play_24.xml @@ -2,10 +2,10 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_skip_next_24.xml b/app/src/main/res/drawable/ic_skip_next_24.xml index 1b658a7a0..080f6581f 100644 --- a/app/src/main/res/drawable/ic_skip_next_24.xml +++ b/app/src/main/res/drawable/ic_skip_next_24.xml @@ -2,10 +2,10 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_skip_prev_24.xml b/app/src/main/res/drawable/ic_skip_prev_24.xml index 8e8afc830..c1ac24bf3 100644 --- a/app/src/main/res/drawable/ic_skip_prev_24.xml +++ b/app/src/main/res/drawable/ic_skip_prev_24.xml @@ -2,10 +2,10 @@ - + android:viewportHeight="24"> + diff --git a/app/src/main/res/layout/view_preference_switch.xml b/app/src/main/res/layout/view_preference_switch.xml new file mode 100644 index 000000000..4721482d5 --- /dev/null +++ b/app/src/main/res/layout/view_preference_switch.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values-v27/styles_core.xml b/app/src/main/res/values-v27/styles_core.xml index 337189255..7d29bb215 100644 --- a/app/src/main/res/values-v27/styles_core.xml +++ b/app/src/main/res/values-v27/styles_core.xml @@ -1,5 +1,6 @@ + + + + + + + + + + - diff --git a/app/src/main/res/xml/prefs_main.xml b/app/src/main/res/xml/prefs_main.xml index e2c36d027..418e000e7 100644 --- a/app/src/main/res/xml/prefs_main.xml +++ b/app/src/main/res/xml/prefs_main.xml @@ -1,8 +1,6 @@ - + @@ -20,52 +17,42 @@ app:key="@string/set_key_accent" app:title="@string/set_accent" /> - - + - - - - - + - - + @@ -121,76 +97,60 @@ app:defaultValue="@integer/play_mode_none" app:entries="@array/entries_detail_song_playback_mode" app:entryValues="@array/values_detail_song_playback_mode" - app:iconSpaceReserved="false" app:key="@string/set_key_detail_song_playback_mode" app:title="@string/set_detail_song_playback_mode" app:useSimpleSummaryProvider="true" /> - - - - + - -