From d4fa52ee132b2fe44685bc604e3df7de427bb02f Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sun, 14 Nov 2021 08:57:57 -0700 Subject: [PATCH] widget: make small/wide widgets stylistic Update the small/wide widgets to show just the cover art and controls. This is for two reasons: 1. The old layouts wasted space, which didn't make them look very good 2. I want to add a more Material3-eque "Stylistic" widget option for the people who want them. Doing this allows me to pack that option into the widget without having to add a new option. --- .../java/org/oxycblt/auxio/ui/DisplayMode.kt | 2 +- .../oxycblt/auxio/widgets/WidgetProvider.kt | 3 +- .../main/res/drawable-v31/ui_widget_panel.xml | 6 + .../res/drawable/ui_widget_aspect_ratio.xml | 4 +- app/src/main/res/drawable/ui_widget_panel.xml | 5 + app/src/main/res/layout/widget_large.xml | 28 +-- app/src/main/res/layout/widget_medium.xml | 26 ++- app/src/main/res/layout/widget_small.xml | 125 +++++++----- app/src/main/res/layout/widget_tiny.xml | 20 +- app/src/main/res/layout/widget_wide.xml | 182 +++++++++--------- app/src/main/res/values-cs/strings.xml | 4 +- app/src/main/res/values-de/strings.xml | 6 +- app/src/main/res/values-es/strings.xml | 4 +- app/src/main/res/values-nl/strings.xml | 4 +- app/src/main/res/values/bools.xml | 2 +- 15 files changed, 240 insertions(+), 181 deletions(-) create mode 100644 app/src/main/res/drawable-v31/ui_widget_panel.xml create mode 100644 app/src/main/res/drawable/ui_widget_panel.xml diff --git a/app/src/main/java/org/oxycblt/auxio/ui/DisplayMode.kt b/app/src/main/java/org/oxycblt/auxio/ui/DisplayMode.kt index 490f5f23b..4ad79e1d0 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/DisplayMode.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/DisplayMode.kt @@ -24,7 +24,7 @@ import org.oxycblt.auxio.R /** * An enum for determining what items to show in a given list. * Note: **DO NOT RE-ARRANGE THE ENUM**. The ordinals are used to store library tabs, so doing - * changing them would also change the meaning. + * changing them would also change the meaning of tab instances. * @author OxygenCobalt */ enum class DisplayMode(@StringRes val string: Int) { 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 e68ae2d37..baa32fe7c 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt @@ -48,8 +48,7 @@ import org.oxycblt.auxio.util.logD * * - Large widgets will show cover art and all controls * - Tall and thin widgets will show cover art and three controls - * - Wide and short widgets will show cover art and all controls in a compact manner - * - Small widgets will only show text and three controls + * - Wide or small widgets will display a "Stylistic" view with controls and the cover art * - Tiny widgets [e.g landscape mode] will show cover art, text, and a play/pause control. * * There are some minor problems with this implementation [notably UI jittering when the widget diff --git a/app/src/main/res/drawable-v31/ui_widget_panel.xml b/app/src/main/res/drawable-v31/ui_widget_panel.xml new file mode 100644 index 000000000..708ae7744 --- /dev/null +++ b/app/src/main/res/drawable-v31/ui_widget_panel.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/ui_widget_aspect_ratio.xml b/app/src/main/res/drawable/ui_widget_aspect_ratio.xml index 9833fcff9..ae34e3d67 100644 --- a/app/src/main/res/drawable/ui_widget_aspect_ratio.xml +++ b/app/src/main/res/drawable/ui_widget_aspect_ratio.xml @@ -5,6 +5,6 @@ + android:width="10000px" + android:height="10000px" /> \ No newline at end of file diff --git a/app/src/main/res/drawable/ui_widget_panel.xml b/app/src/main/res/drawable/ui_widget_panel.xml new file mode 100644 index 000000000..04d3b830c --- /dev/null +++ b/app/src/main/res/drawable/ui_widget_panel.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/layout/widget_large.xml b/app/src/main/res/layout/widget_large.xml index eeb19c0a7..b6480333a 100644 --- a/app/src/main/res/layout/widget_large.xml +++ b/app/src/main/res/layout/widget_large.xml @@ -1,5 +1,5 @@ - - - + android:layout_marginTop="@dimen/spacing_small"> - + diff --git a/app/src/main/res/layout/widget_medium.xml b/app/src/main/res/layout/widget_medium.xml index 5b4943695..2ce36454e 100644 --- a/app/src/main/res/layout/widget_medium.xml +++ b/app/src/main/res/layout/widget_medium.xml @@ -1,5 +1,5 @@ - - - - + diff --git a/app/src/main/res/layout/widget_small.xml b/app/src/main/res/layout/widget_small.xml index 1bc3eaa4b..1bcd6837f 100644 --- a/app/src/main/res/layout/widget_small.xml +++ b/app/src/main/res/layout/widget_small.xml @@ -1,63 +1,92 @@ - - + + + + + + + + + + android:layout_weight="1" + android:contentDescription="@string/desc_skip_prev" + android:src="@drawable/ic_skip_prev" /> - + android:layout_weight="1" + android:contentDescription="@string/desc_play_pause" + android:src="@drawable/ic_play" /> - - - - - - - - - + android:layout_weight="1" + android:contentDescription="@string/desc_skip_next" + android:src="@drawable/ic_skip_next" /> + + - diff --git a/app/src/main/res/layout/widget_tiny.xml b/app/src/main/res/layout/widget_tiny.xml index b4632f2f5..d40de686f 100644 --- a/app/src/main/res/layout/widget_tiny.xml +++ b/app/src/main/res/layout/widget_tiny.xml @@ -1,5 +1,5 @@ - + - - - - + - - - - + + diff --git a/app/src/main/res/layout/widget_wide.xml b/app/src/main/res/layout/widget_wide.xml index 8cfeef8ff..be25dd8b5 100644 --- a/app/src/main/res/layout/widget_wide.xml +++ b/app/src/main/res/layout/widget_wide.xml @@ -1,104 +1,110 @@ - - + + + + + + + + + + android:layout_weight="1" + android:contentDescription="@string/desc_change_loop" + android:src="@drawable/ic_loop" /> - - - - - - - - - - - - + android:layout_weight="1" + android:contentDescription="@string/desc_skip_prev" + android:src="@drawable/ic_skip_prev" /> - + - + - - - - - - - + + + - diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 582fd6017..20f24d591 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -126,11 +126,11 @@ "Tmavě fialová" "Indigo" "Modrá" - "Světle modrá" + Tmavě modrá "Azurová" "Čajová" "Zelená" - "Světle zelená" + Tmavě zelená "Limetková" "Žlutá" "Oranžová" diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6788c7346..43bd880cd 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -58,7 +58,7 @@ Automatisch Hell Dunkel - Akzentfarbe + Farbgestaltung Anzeige Albumcover anzeigen @@ -125,11 +125,11 @@ Dunkellila Indigoblau Blau - Hellblau + Dunkelblau Cyan Blaugrün Grün - Hellgrün + Dunkelgrün Lindgrün Gelb Orange diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index cf3e7673b..3fe8f5633 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -129,11 +129,11 @@ Púrpura Profundo Índigo Azul - Azul Claro + Azul Profundo Cyan Teal Verde - Verde Claro + Verde Profundo Lima Amarillo Naranja diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 61c249dc9..2fe855230 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -127,10 +127,10 @@ Donkerpaars Indigoblauw Blauw - Lichtblauw + Donkerblauw Blauwgroen Groen - Lichtgroen + Donkergroen Cyaan Geelgroen Geel diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml index 3198b801d..658e9ab20 100644 --- a/app/src/main/res/values/bools.xml +++ b/app/src/main/res/values/bools.xml @@ -1,4 +1,4 @@ true - \ No newline at end of file +