⬇️ Import legacy playlists
This commit is contained in:
parent
51d2c17ad7
commit
45b93ed3aa
13 changed files with 175 additions and 65 deletions
|
@ -22,6 +22,7 @@ import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
|
|||
import code.name.monkey.retromusic.db.PlaylistEntity
|
||||
import code.name.monkey.retromusic.db.PlaylistWithSongs
|
||||
import code.name.monkey.retromusic.db.SongEntity
|
||||
import code.name.monkey.retromusic.db.toSongs
|
||||
import code.name.monkey.retromusic.extensions.hide
|
||||
import code.name.monkey.retromusic.extensions.show
|
||||
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
|
||||
|
@ -33,7 +34,6 @@ import code.name.monkey.retromusic.repository.PlaylistSongsLoader
|
|||
import code.name.monkey.retromusic.util.AutoGeneratedPlaylistBitmap
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import code.name.monkey.retromusic.util.RetroColorUtil
|
||||
import java.util.*
|
||||
|
||||
class PlaylistAdapter(
|
||||
private val activity: FragmentActivity,
|
||||
|
@ -73,7 +73,7 @@ class PlaylistAdapter(
|
|||
}
|
||||
|
||||
private fun getPlaylistText(playlist: PlaylistWithSongs): String {
|
||||
return MusicUtil.playlistInfoString(activity, getSongs(playlist))
|
||||
return MusicUtil.getPlaylistInfoString(activity, playlist.songs.toSongs())
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
|
@ -81,7 +81,7 @@ class PlaylistAdapter(
|
|||
holder.itemView.isActivated = isChecked(playlist)
|
||||
holder.title?.text = getPlaylistTitle(playlist.playlistEntity)
|
||||
holder.text?.text = getPlaylistText(playlist)
|
||||
holder.image?.setImageDrawable(getIconRes(playlist))
|
||||
holder.image?.setImageDrawable(getIconRes())
|
||||
val isChecked = isChecked(playlist)
|
||||
if (isChecked) {
|
||||
holder.menu?.hide()
|
||||
|
@ -91,20 +91,11 @@ class PlaylistAdapter(
|
|||
//PlaylistBitmapLoader(this, holder, playlist).execute()
|
||||
}
|
||||
|
||||
private fun getIconRes(playlist: PlaylistWithSongs): Drawable {
|
||||
return/* if (MusicUtil.isFavoritePlaylist(activity, playlist))
|
||||
TintHelper.createTintedDrawable(
|
||||
activity,
|
||||
R.drawable.ic_favorite,
|
||||
ThemeStore.accentColor(activity)
|
||||
)
|
||||
else*/ TintHelper.createTintedDrawable(
|
||||
activity,
|
||||
R.drawable.ic_playlist_play,
|
||||
ATHUtil.resolveColor(activity, R.attr.colorControlNormal)
|
||||
)
|
||||
}
|
||||
|
||||
private fun getIconRes(): Drawable = TintHelper.createTintedDrawable(
|
||||
activity,
|
||||
R.drawable.ic_playlist_play,
|
||||
ATHUtil.resolveColor(activity, R.attr.colorControlNormal)
|
||||
)
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return dataSet.size
|
||||
|
@ -129,28 +120,17 @@ class PlaylistAdapter(
|
|||
}
|
||||
|
||||
private fun getSongList(playlists: List<PlaylistWithSongs>): List<Song> {
|
||||
val songs = ArrayList<Song>()
|
||||
/* for (playlist in playlists) {
|
||||
songs.addAll(playlist.songs)
|
||||
if (playlist is AbsCustomPlaylist) {
|
||||
songs.addAll(playlist.songs())
|
||||
} else {
|
||||
songs.addAll(PlaylistSongsLoader.getPlaylistSongList(activity, playlist.id))
|
||||
}
|
||||
}*/
|
||||
val songs = mutableListOf<Song>()
|
||||
playlists.forEach {
|
||||
songs.addAll(it.songs.toSongs())
|
||||
}
|
||||
return songs
|
||||
}
|
||||
|
||||
private fun getSongs(playlist: PlaylistWithSongs): List<SongEntity> {
|
||||
val songs = ArrayList<SongEntity>()
|
||||
songs.addAll(playlist.songs)
|
||||
/*if (playlist is AbsSmartPlaylist) {
|
||||
songs.addAll(playlist.songs())
|
||||
} else {
|
||||
songs.addAll(playlist.getSongs())
|
||||
}*/
|
||||
return songs
|
||||
}
|
||||
private fun getSongs(playlist: PlaylistWithSongs): List<SongEntity> =
|
||||
mutableListOf<SongEntity>().apply {
|
||||
addAll(playlist.songs)
|
||||
}
|
||||
|
||||
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {
|
||||
init {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue