From 93cdae2295e77ba23a3e83dba1a39906e819df40 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Tue, 2 Nov 2021 06:58:36 -0600 Subject: [PATCH] playback: fix bad compact view spacing Fix an issue where the constraints in the playback view were not actually anchored to the playback bar, resulting in bad spacing. --- .../main/java/org/oxycblt/auxio/coil/AlbumArtFetcher.kt | 8 +++++++- .../java/org/oxycblt/auxio/playback/PlaybackBarLayout.kt | 5 ----- .../java/org/oxycblt/auxio/settings/SettingsManager.kt | 2 -- app/src/main/res/layout/view_compact_playback.xml | 4 ++-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/coil/AlbumArtFetcher.kt b/app/src/main/java/org/oxycblt/auxio/coil/AlbumArtFetcher.kt index 984a3d27d..6a24c52a2 100644 --- a/app/src/main/java/org/oxycblt/auxio/coil/AlbumArtFetcher.kt +++ b/app/src/main/java/org/oxycblt/auxio/coil/AlbumArtFetcher.kt @@ -29,6 +29,7 @@ import coil.fetch.SourceResult import coil.size.Size import com.google.android.exoplayer2.MediaItem import com.google.android.exoplayer2.MetadataRetriever +import com.google.android.exoplayer2.metadata.Metadata import com.google.android.exoplayer2.metadata.flac.PictureFrame import com.google.android.exoplayer2.metadata.id3.ApicFrame import okio.buffer @@ -39,6 +40,7 @@ import org.oxycblt.auxio.music.toAlbumArtURI import org.oxycblt.auxio.music.toURI import org.oxycblt.auxio.settings.SettingsManager import java.io.ByteArrayInputStream +import java.lang.Exception /** * Fetcher that returns the album art for a given [Album]. Handles settings on whether to use @@ -159,7 +161,11 @@ class AlbumArtFetcher(private val context: Context) : Fetcher { // Coil is async, we can just spin until the loading has ended while (future.isDone) { /* no-op */ } - val tracks = future.get() + val tracks = try { + future.get() + } catch (e: Exception) { + null + } if (tracks == null || tracks.isEmpty) { // Unrecognized format. This is expected, as ExoPlayer only supports a diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarLayout.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarLayout.kt index 32e086afd..6e05aa9c4 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarLayout.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarLayout.kt @@ -38,10 +38,6 @@ import org.oxycblt.auxio.util.systemBarsCompat * properly. The mechanism is mostly inspired by Material Files' PersistentBarLayout, however * this class was primarily written by me and I plan to expand this layout to become part of * the playback navigation process. - * - * TODO: Implement animation - * TODO: Implement the swipe-up behavior. This needs to occur, as the way the main fragment - * saves state results in' */ class PlaybackBarLayout @JvmOverloads constructor( context: Context, @@ -290,7 +286,6 @@ class PlaybackBarLayout @JvmOverloads constructor( override fun checkLayoutParams(layoutParams: ViewGroup.LayoutParams): Boolean = layoutParams is LayoutParams && super.checkLayoutParams(layoutParams) - @Suppress("UNUSED") class LayoutParams : ViewGroup.LayoutParams { var isBar = false var shown = false diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt index 70649b3c5..998d03ec1 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsManager.kt @@ -31,8 +31,6 @@ import org.oxycblt.auxio.ui.SortMode /** * Wrapper around the [SharedPreferences] class that writes & reads values without a context. * @author OxygenCobalt - * TODO: Consider re-adding the colorize notif setting but only on @@ -66,7 +66,7 @@ android:src="@drawable/sel_playing_state" android:layout_margin="@dimen/spacing_small" android:contentDescription="@string/desc_play_pause" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" />