musikr: decouple disc from auxio
This commit is contained in:
parent
e3146647d3
commit
cb84b2db17
4 changed files with 8 additions and 11 deletions
|
@ -43,7 +43,6 @@ import org.oxycblt.auxio.util.inflater
|
|||
import org.oxycblt.musikr.Album
|
||||
import org.oxycblt.musikr.Song
|
||||
import org.oxycblt.musikr.tag.Disc
|
||||
import org.oxycblt.musikr.tag.resolveNumber
|
||||
|
||||
/**
|
||||
* An [DetailListAdapter] implementing the header and sub-items for the [Album] detail view.
|
||||
|
@ -122,7 +121,7 @@ private class DiscHeaderViewHolder(private val binding: ItemDiscHeaderBinding) :
|
|||
*/
|
||||
fun bind(discHeader: DiscHeader) {
|
||||
val disc = discHeader.inner
|
||||
binding.discNumber.text = disc.resolveNumber(binding.context)
|
||||
binding.discNumber.text = disc.resolve(binding.context)
|
||||
binding.discName.apply {
|
||||
text = disc?.name
|
||||
isGone = disc?.name == null
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.oxycblt.auxio.R
|
|||
import org.oxycblt.auxio.util.concatLocalized
|
||||
import org.oxycblt.musikr.Music
|
||||
import org.oxycblt.musikr.tag.Date
|
||||
import org.oxycblt.musikr.tag.Disc
|
||||
import org.oxycblt.musikr.tag.Name
|
||||
import org.oxycblt.musikr.tag.Placeholder
|
||||
import timber.log.Timber
|
||||
|
@ -98,3 +99,7 @@ private fun Date.resolveFineGrained(): String? {
|
|||
format.applyPattern("MMM yyyy")
|
||||
return format.format(date)
|
||||
}
|
||||
|
||||
fun Disc?.resolve(context: Context) =
|
||||
this?.run { context.getString(R.string.fmt_disc_no, number) }
|
||||
?: context.getString(R.string.def_disc)
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.oxycblt.auxio.home.HomeGenerator
|
|||
import org.oxycblt.auxio.list.adapter.UpdateInstructions
|
||||
import org.oxycblt.auxio.music.MusicRepository
|
||||
import org.oxycblt.auxio.music.MusicType
|
||||
import org.oxycblt.auxio.music.resolve
|
||||
import org.oxycblt.auxio.search.SearchEngine
|
||||
import org.oxycblt.musikr.Album
|
||||
import org.oxycblt.musikr.Artist
|
||||
|
@ -36,7 +37,6 @@ import org.oxycblt.musikr.Genre
|
|||
import org.oxycblt.musikr.Music
|
||||
import org.oxycblt.musikr.Playlist
|
||||
import org.oxycblt.musikr.Song
|
||||
import org.oxycblt.musikr.tag.resolveNumber
|
||||
|
||||
class MusicBrowser
|
||||
private constructor(
|
||||
|
@ -219,7 +219,7 @@ private constructor(
|
|||
section.items.map { it.toMediaItem(context, header(section.stringRes)) }
|
||||
is DetailSection.Discs ->
|
||||
section.discs.flatMap { (disc, songs) ->
|
||||
val discString = disc.resolveNumber(context)
|
||||
val discString = disc.resolve(context)
|
||||
songs.map { it.toMediaItem(context, header(discString)) }
|
||||
}
|
||||
else -> error("Unknown section type: $section")
|
||||
|
|
|
@ -18,9 +18,6 @@
|
|||
|
||||
package org.oxycblt.musikr.tag
|
||||
|
||||
import android.content.Context
|
||||
import org.oxycblt.auxio.R
|
||||
|
||||
/**
|
||||
* A disc identifier for a song.
|
||||
*
|
||||
|
@ -35,7 +32,3 @@ class Disc(val number: Int, val name: String?) : Comparable<Disc> {
|
|||
|
||||
override fun compareTo(other: Disc) = number.compareTo(other.number)
|
||||
}
|
||||
|
||||
fun Disc?.resolveNumber(context: Context) =
|
||||
this?.run { context.getString(R.string.fmt_disc_no, number) }
|
||||
?: context.getString(R.string.def_disc)
|
||||
|
|
Loading…
Reference in a new issue