From 8c07f8cd8cd123d5e1184307e87a83d4de8711d6 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Thu, 5 Aug 2021 16:09:27 -0600 Subject: [PATCH] widgets: add preview for <31 Add an image widget preview for android versions below 12. --- .../org/oxycblt/auxio/widgets/WidgetProvider.kt | 14 +++++++------- app/src/main/res/drawable/ui_widget_preview.png | Bin 0 -> 16480 bytes app/src/main/res/layout/widget_small.xml | 6 +++--- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/xml/widget_minimal.xml | 1 + 5 files changed, 12 insertions(+), 11 deletions(-) create mode 100755 app/src/main/res/drawable/ui_widget_preview.png 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 930c445b0..54dbb2a03 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt @@ -133,13 +133,15 @@ class WidgetProvider : AppWidgetProvider() { } else { // Otherwise, we try our best to backport the responsive behavior to older versions. // This is mostly a guess based on RemoteView's documentation, and it has some - // problems [most notably UI jittering when resizing], but it works. It may be - // improved once Android 12's source is released. + // problems [most notably UI jittering when resizing]. Its better than just using + // one layout though. It may be improved once Android 12's source is released. // Theres a non-zero likelihood that this code ends up being copy-pasted all over // by other apps that are trying to refresh their widgets for Android 12. So, if // you're doing that than uh...hi. + // Each widget has independent dimensions, so we iterate through them all + // and do this for each. val ids = getAppWidgetIds(ComponentName(context, WidgetProvider::class.java)) for (id in ids) { @@ -170,21 +172,19 @@ class WidgetProvider : AppWidgetProvider() { } } + // Find the layout with the greatest area. This is what we use. val layout = candidates.maxByOrNull { it.height * it.width } if (layout != null) { logD("Using widget layout $layout") - updateAppWidget( - ComponentName(context, WidgetProvider::class.java), - views[layout] - ) + updateAppWidget(id, views[layout]) continue } } - // No layout works. Just use the smallest view. + // No layout fits. Just use the smallest view. logD("No widget layout found") diff --git a/app/src/main/res/drawable/ui_widget_preview.png b/app/src/main/res/drawable/ui_widget_preview.png new file mode 100755 index 0000000000000000000000000000000000000000..685e2d133d3c3a8d4ccacb7e03b1becf131ab45f GIT binary patch literal 16480 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 XMAXR5_P8E+i%4EZS-M!t*zf-W#X&eE literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/widget_small.xml b/app/src/main/res/layout/widget_small.xml index 31877a042..df7f9c818 100644 --- a/app/src/main/res/layout/widget_small.xml +++ b/app/src/main/res/layout/widget_small.xml @@ -15,7 +15,7 @@ android:background="?attr/colorSurface" android:scaleType="centerCrop" tools:ignore="contentDescription" - tools:src="@drawable/ic_song" /> + android:src="@drawable/ic_song" /> + android:text="@string/placeholder_widget_song" /> + android:text="@string/placeholder_widget_artist" /> A simple, rational music player for android. - Music Playback + Now Playing See and control playing music diff --git a/app/src/main/res/xml/widget_minimal.xml b/app/src/main/res/xml/widget_minimal.xml index 51a1db205..644816a80 100644 --- a/app/src/main/res/xml/widget_minimal.xml +++ b/app/src/main/res/xml/widget_minimal.xml @@ -7,4 +7,5 @@ android:minResizeHeight="110dp" android:resizeMode="horizontal|vertical" android:updatePeriodMillis="0" + android:previewImage="@drawable/ui_widget_preview" android:widgetCategory="home_screen" /> \ No newline at end of file