🙆🏻 Woof that's done it Playlist

Code refactor to Kotlin
This commit is contained in:
Hemanth S 2020-08-13 22:38:37 +05:30
parent ff20b3a052
commit e159b1a32a
73 changed files with 1482 additions and 1785 deletions

View file

@ -14,9 +14,9 @@ import code.name.monkey.retromusic.glide.AlbumGlideRequest
import code.name.monkey.retromusic.glide.ArtistGlideRequest
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.menu.SongMenuHelper
import code.name.monkey.retromusic.loaders.PlaylistSongsLoader
import code.name.monkey.retromusic.model.*
import code.name.monkey.retromusic.model.smartplaylist.AbsSmartPlaylist
import code.name.monkey.retromusic.repository.PlaylistSongsLoader
import code.name.monkey.retromusic.util.MusicUtil
import com.bumptech.glide.Glide
@ -93,7 +93,7 @@ class SearchAdapter(
private fun getSongs(playlist: Playlist): java.util.ArrayList<Song> {
val songs = java.util.ArrayList<Song>()
if (playlist is AbsSmartPlaylist) {
songs.addAll(playlist.getSongs(activity))
songs.addAll(playlist.getSongs())
} else {
songs.addAll(PlaylistSongsLoader.getPlaylistSongList(activity, playlist.id))
}

View file

@ -27,6 +27,7 @@ import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
import code.name.monkey.retromusic.glide.audiocover.AudioFileCover
import code.name.monkey.retromusic.interfaces.CabHolder
import code.name.monkey.retromusic.interfaces.Callbacks
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.RetroUtil
import com.bumptech.glide.Glide
@ -35,7 +36,6 @@ import com.bumptech.glide.signature.MediaStoreSignature
import me.zhanghai.android.fastscroll.PopupTextProvider
import java.io.File
import java.text.DecimalFormat
import java.util.*
import kotlin.math.log10
import kotlin.math.pow
@ -135,9 +135,9 @@ class SongFileAdapter(
return getFileTitle(`object`)
}
override fun onMultipleItemAction(menuItem: MenuItem, selection: ArrayList<File>) {
override fun onMultipleItemAction(menuItem: MenuItem, selection: List<File>) {
if (callbacks == null) return
callbacks.onMultipleItemAction(menuItem, selection)
callbacks.onMultipleItemAction(menuItem, selection as ArrayList<File>)
}
override fun getPopupText(position: Int): String {
@ -148,13 +148,6 @@ class SongFileAdapter(
return MusicUtil.getSectionName(dataSet[position].name)
}
interface Callbacks {
fun onFileSelected(file: File)
fun onFileMenuClicked(file: File, view: View)
fun onMultipleItemAction(item: MenuItem, files: ArrayList<File>)
}
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {

View file

@ -129,12 +129,12 @@ open class AlbumAdapter(
}
override fun onMultipleItemAction(
menuItem: MenuItem, selection: ArrayList<Album>
menuItem: MenuItem, selection: List<Album>
) {
SongsMenuHelper.handleMenuClick(activity, getSongList(selection), menuItem.itemId)
}
private fun getSongList(albums: List<Album>): ArrayList<Song> {
private fun getSongList(albums: List<Album>): List<Song> {
val songs = ArrayList<Song>()
for (album in albums) {
songs.addAll(album.songs!!)
@ -156,7 +156,6 @@ open class AlbumAdapter(
dataSet[position].year
)
}
return MusicUtil.getSectionName(sectionName)
}

View file

@ -107,12 +107,12 @@ class ArtistAdapter(
}
override fun onMultipleItemAction(
menuItem: MenuItem, selection: ArrayList<Artist>
menuItem: MenuItem, selection: List<Artist>
) {
SongsMenuHelper.handleMenuClick(activity, getSongList(selection), menuItem.itemId)
}
private fun getSongList(artists: List<Artist>): ArrayList<Song> {
private fun getSongList(artists: List<Artist>): List<Song> {
val songs = ArrayList<Song>()
for (artist in artists) {
songs.addAll(artist.songs) // maybe async in future?

View file

@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.afollestad.materialcab.MaterialCab;
import java.util.ArrayList;
import java.util.List;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.interfaces.CabHolder;
@ -24,7 +25,7 @@ public abstract class AbsMultiSelectAdapter<V extends RecyclerView.ViewHolder, I
private final CabHolder cabHolder;
private final Context context;
private MaterialCab cab;
private ArrayList<I> checked;
private List<I> checked;
private int menuRes;
public AbsMultiSelectAdapter(@NonNull Context context, @Nullable CabHolder cabHolder, @MenuRes int menuRes) {
@ -86,7 +87,7 @@ public abstract class AbsMultiSelectAdapter<V extends RecyclerView.ViewHolder, I
return cab != null && cab.isActive();
}
protected abstract void onMultipleItemAction(MenuItem menuItem, ArrayList<I> selection);
protected abstract void onMultipleItemAction(MenuItem menuItem, List<I> selection);
protected void setMultiSelectMenuRes(@MenuRes int menuRes) {
this.menuRes = menuRes;

View file

@ -25,11 +25,11 @@ import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
import code.name.monkey.retromusic.interfaces.CabHolder
import code.name.monkey.retromusic.loaders.PlaylistSongsLoader
import code.name.monkey.retromusic.model.AbsCustomPlaylist
import code.name.monkey.retromusic.model.Playlist
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.model.smartplaylist.AbsSmartPlaylist
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
@ -122,7 +122,7 @@ class PlaylistAdapter(
return playlist.name
}
override fun onMultipleItemAction(menuItem: MenuItem, selection: ArrayList<Playlist>) {
override fun onMultipleItemAction(menuItem: MenuItem, selection: List<Playlist>) {
when (menuItem.itemId) {
else -> SongsMenuHelper.handleMenuClick(
activity,
@ -132,11 +132,11 @@ class PlaylistAdapter(
}
}
private fun getSongList(playlists: List<Playlist>): ArrayList<Song> {
private fun getSongList(playlists: List<Playlist>): List<Song> {
val songs = ArrayList<Song>()
for (playlist in playlists) {
if (playlist is AbsCustomPlaylist) {
songs.addAll(playlist.getSongs(activity))
songs.addAll(playlist.songs())
} else {
songs.addAll(PlaylistSongsLoader.getPlaylistSongList(activity, playlist.id))
}
@ -144,12 +144,12 @@ class PlaylistAdapter(
return songs
}
private fun getSongs(playlist: Playlist): ArrayList<Song> {
private fun getSongs(playlist: Playlist): List<Song> {
val songs = ArrayList<Song>()
if (playlist is AbsSmartPlaylist) {
songs.addAll(playlist.getSongs(activity))
songs.addAll(playlist.songs())
} else {
songs.addAll(PlaylistSongsLoader.getPlaylistSongList(activity, playlist.id))
songs.addAll(playlist.getSongs())
}
return songs
}

View file

@ -51,7 +51,7 @@ class OrderablePlaylistSongAdapter(
return long
}
override fun onMultipleItemAction(menuItem: MenuItem, selection: ArrayList<Song>) {
override fun onMultipleItemAction(menuItem: MenuItem, selection: List<Song>) {
when (menuItem.itemId) {
R.id.action_remove_from_playlist -> {
RemoveFromPlaylistDialog.create(selection as ArrayList<PlaylistSong>)

View file

@ -133,7 +133,7 @@ open class SongAdapter(
return song.title
}
override fun onMultipleItemAction(menuItem: MenuItem, selection: ArrayList<Song>) {
override fun onMultipleItemAction(menuItem: MenuItem, selection: List<Song>) {
SongsMenuHelper.handleMenuClick(activity, selection, menuItem.itemId)
}