From 926fef4218113fb68aaf214d42225aeb07f64cf6 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sun, 24 Oct 2021 11:30:10 -0600 Subject: [PATCH] widgets: increase minheight Prevent issues with malformed widget forms on certain devices by increasing the minimum widget height to 152dp, which is the height that the minimal widget should take up. --- .../java/org/oxycblt/auxio/widgets/Forms.kt | 4 +- .../oxycblt/auxio/widgets/WidgetProvider.kt | 8 +- app/src/main/res/layout/widget_compact.xml | 104 ++++++++++++++++++ app/src/main/res/layout/widget_minimal.xml | 29 +---- app/src/main/res/layout/widget_terminal.xml | 63 ----------- app/src/main/res/xml-v31/widget_info.xml | 2 +- app/src/main/res/xml/widget_info.xml | 2 +- 7 files changed, 117 insertions(+), 95 deletions(-) create mode 100644 app/src/main/res/layout/widget_compact.xml delete mode 100644 app/src/main/res/layout/widget_terminal.xml diff --git a/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt b/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt index 4edd64498..5391b4650 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt @@ -92,8 +92,8 @@ fun createDefaultWidget(context: Context): RemoteViews { return createViews(context, R.layout.widget_default) } -fun createTerminalWidget(context: Context, state: WidgetState): RemoteViews { - val views = createViews(context, R.layout.widget_terminal) +fun createCompactWidget(context: Context, state: WidgetState): RemoteViews { + val views = createViews(context, R.layout.widget_compact) views.applyMeta(context, state) views.applyControls(context, state) return views 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 ee46dca8c..a37afcab7 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,8 @@ import org.oxycblt.auxio.util.logD * * - Full: Large widgets will show cover art and all controls * - Small: Tall and thin widgets will show cover art and three controls - * - Minimal: Wide and short widgets will show cover art and all controls in a compact manner - * - Text: Small widgets will only show text and three controls + * - Compact: Wide and short widgets will show cover art and all controls in a compact manner + * - Minimal: Small widgets will only show cover art and three controls * * There are some minor problems with this implementation [notably UI jittering when the widget * picks a new layout below Android 12], but this is tolerable. It may be improved in the future. @@ -80,8 +80,8 @@ class WidgetProvider : AppWidgetProvider() { // Map each widget form to the cells where it would look at least okay. val views = mapOf( - SizeF(180f, 110f) to createTerminalWidget(context, state), - SizeF(250f, 110f) to createMinimalWidget(context, state), + SizeF(180f, 152f) to createMinimalWidget(context, state), + SizeF(250f, 152f) to createCompactWidget(context, state), SizeF(180f, 270f) to createSmallWidget(context, state), SizeF(250f, 270f) to createFullWidget(context, state) ) diff --git a/app/src/main/res/layout/widget_compact.xml b/app/src/main/res/layout/widget_compact.xml new file mode 100644 index 000000000..5c07104fe --- /dev/null +++ b/app/src/main/res/layout/widget_compact.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/widget_minimal.xml b/app/src/main/res/layout/widget_minimal.xml index 5c07104fe..2fae4ae0c 100644 --- a/app/src/main/res/layout/widget_minimal.xml +++ b/app/src/main/res/layout/widget_minimal.xml @@ -49,22 +49,12 @@ - - + android:layout_marginTop="@dimen/spacing_medium"> + android:src="@drawable/ic_play" /> - - diff --git a/app/src/main/res/layout/widget_terminal.xml b/app/src/main/res/layout/widget_terminal.xml deleted file mode 100644 index c70814fce..000000000 --- a/app/src/main/res/layout/widget_terminal.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml-v31/widget_info.xml b/app/src/main/res/xml-v31/widget_info.xml index ce568e78a..b36c08671 100644 --- a/app/src/main/res/xml-v31/widget_info.xml +++ b/app/src/main/res/xml-v31/widget_info.xml @@ -3,7 +3,7 @@ android:description="@string/info_widget_desc" android:initialLayout="@layout/widget_small" android:minResizeWidth="180dp" - android:minResizeHeight="110dp" + android:minResizeHeight="152dp" android:previewLayout="@layout/widget_small" android:resizeMode="horizontal|vertical" android:minWidth="180dp" diff --git a/app/src/main/res/xml/widget_info.xml b/app/src/main/res/xml/widget_info.xml index 5cea913df..d1dedca96 100644 --- a/app/src/main/res/xml/widget_info.xml +++ b/app/src/main/res/xml/widget_info.xml @@ -4,7 +4,7 @@ android:minWidth="180dp" android:minHeight="180dp" android:minResizeWidth="180dp" - android:minResizeHeight="110dp" + android:minResizeHeight="152dp" android:previewImage="@drawable/ui_widget_preview" android:resizeMode="horizontal|vertical" android:updatePeriodMillis="0"