From 4b438daaf265b5f98b7fae793f6a933d4af7af2e Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sat, 21 Aug 2021 09:25:24 -0600 Subject: [PATCH] widget: re-introduce <31 elevation The pre-Android 12 padding option was removed previously, but I've decided to re-add it for stylistic cohesion with the material design of those versions. --- app/build.gradle | 2 ++ .../java/org/oxycblt/auxio/widgets/Forms.kt | 30 ++++++++----------- .../oxycblt/auxio/widgets/WidgetProvider.kt | 2 -- .../main/res/values-v31/styles_component.xml | 2 ++ app/src/main/res/values/styles_component.xml | 6 +++- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1835989ee..8b1688454 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,8 @@ android { } } + // ExoPlayer needs Java 8 to compile. + kotlinOptions { jvmTarget = "1.8" } 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 e9e78a30f..93c6093ae 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/Forms.kt @@ -41,9 +41,19 @@ private fun createViews( return views } -private fun RemoteViews.applyMeta(state: WidgetState) { +private fun RemoteViews.applyMeta(context: Context, state: WidgetState) { setTextViewText(R.id.widget_song, state.song.name) setTextViewText(R.id.widget_artist, state.song.album.artist.name) + + if (state.albumArt != null) { + setImageViewBitmap(R.id.widget_cover, state.albumArt) + setContentDescription( + R.id.widget_cover, context.getString(R.string.desc_album_cover, state.song.album.name) + ) + } else { + setImageViewResource(R.id.widget_cover, R.drawable.ic_song) + setContentDescription(R.id.widget_cover, context.getString(R.string.desc_no_cover)) + } } fun RemoteViews.applyControls(context: Context, state: WidgetState) { @@ -78,34 +88,20 @@ fun RemoteViews.applyControls(context: Context, state: WidgetState) { ) } -fun RemoteViews.applyCover(context: Context, state: WidgetState) { - if (state.albumArt != null) { - setImageViewBitmap(R.id.widget_cover, state.albumArt) - setContentDescription( - R.id.widget_cover, context.getString(R.string.desc_album_cover, state.song.album.name) - ) - } else { - setImageViewResource(R.id.widget_cover, R.drawable.ic_song) - setContentDescription(R.id.widget_cover, context.getString(R.string.desc_no_cover)) - } -} - fun createDefaultWidget(context: Context): RemoteViews { return createViews(context, R.layout.widget_default) } fun createSmallWidget(context: Context, state: WidgetState): RemoteViews { val views = createViews(context, R.layout.widget_small) - views.applyMeta(state) - views.applyCover(context, state) + views.applyMeta(context, state) views.applyControls(context, state) return views } fun createFullWidget(context: Context, state: WidgetState): RemoteViews { val views = createViews(context, R.layout.widget_full) - views.applyMeta(state) - views.applyCover(context, state) + views.applyMeta(context, state) views.applyControls(context, state) views.setOnClickPendingIntent( 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 57727b928..0823671e4 100644 --- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt @@ -38,8 +38,6 @@ import org.oxycblt.auxio.playback.state.PlaybackStateManager * Auxio's one and only appwidget. This widget follows a more unorthodox approach, effectively * packing what could be considered 3 or 4 widgets into a single responsive widget. More specifically: * - * - For widgets 2x1 or lower, show a text-only view with no controls - * - For widgets Wx1 or lower, show a compact view with no controls. * - For widgets Wx2 or higher, show an expanded view with album art and basic controls * - For widgets 4x2 or higher, show a complete view with all playback controls * diff --git a/app/src/main/res/values-v31/styles_component.xml b/app/src/main/res/values-v31/styles_component.xml index 9c97eb335..efb0ce40a 100644 --- a/app/src/main/res/values-v31/styles_component.xml +++ b/app/src/main/res/values-v31/styles_component.xml @@ -3,4 +3,6 @@ + + - + + \ No newline at end of file