From d0444bb41d62ed2eb8e985a62e4962c29f6d1c21 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Sat, 13 May 2023 20:05:04 -0600 Subject: [PATCH] detail: add duration indicator to playlist Add a duration indicator alongside the song count in the playlist detail header. --- .../auxio/detail/header/PlaylistDetailHeaderAdapter.kt | 6 +++++- .../org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt | 2 +- app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/detail/header/PlaylistDetailHeaderAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/header/PlaylistDetailHeaderAdapter.kt index bfa048d01..4880c5cab 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/header/PlaylistDetailHeaderAdapter.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/header/PlaylistDetailHeaderAdapter.kt @@ -25,6 +25,7 @@ import androidx.recyclerview.widget.RecyclerView import org.oxycblt.auxio.R import org.oxycblt.auxio.databinding.ItemDetailHeaderBinding import org.oxycblt.auxio.music.Playlist +import org.oxycblt.auxio.playback.formatDurationMs import org.oxycblt.auxio.util.context import org.oxycblt.auxio.util.getPlural import org.oxycblt.auxio.util.inflater @@ -71,7 +72,10 @@ private constructor(private val binding: ItemDetailHeaderBinding) : isVisible = true text = if (playlist.songs.isNotEmpty()) { - binding.context.getPlural(R.plurals.fmt_song_count, playlist.songs.size) + binding.context.getString( + R.string.fmt_two, + binding.context.getPlural(R.plurals.fmt_song_count, playlist.songs.size), + playlist.durationMs.formatDurationMs(true)) } else { binding.context.getString(R.string.def_song_count) } diff --git a/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt index 5c861bc8a..eb81775c2 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt @@ -55,7 +55,7 @@ class AddToPlaylistDialog : private val footerAdapter = NewPlaylistFooterAdapter(this) override fun onConfigDialog(builder: AlertDialog.Builder) { - builder.setTitle(R.string.lbl_playlist_add).setNegativeButton(R.string.lbl_cancel, null) + builder.setTitle(R.string.lbl_playlists).setNegativeButton(R.string.lbl_cancel, null) } override fun onCreateBinding(inflater: LayoutInflater) = diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt index 5d8e54318..fa3cf2dea 100644 --- a/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt +++ b/app/src/main/java/org/oxycblt/auxio/search/SearchEngine.kt @@ -33,6 +33,8 @@ import org.oxycblt.auxio.music.info.Name * Implements the fuzzy-ish searching algorithm used in the search view. * * @author Alexander Capehart + * + * TODO: Add playlists */ interface SearchEngine { /**