Added proper coloring and WIP for Playlist database
This commit is contained in:
parent
8d49f8cdcb
commit
bf9ddfccb7
34 changed files with 1737 additions and 185 deletions
|
@ -20,25 +20,30 @@ import androidx.fragment.app.DialogFragment
|
|||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.loaders.PlaylistLoader
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import code.name.monkey.retromusic.util.PlaylistsUtil
|
||||
import code.name.monkey.retromusic.room.playlist.PlaylistDatabaseModel
|
||||
import code.name.monkey.retromusic.room.playlist.PlaylistEntity
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import com.afollestad.materialdialogs.LayoutMode
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
||||
import com.afollestad.materialdialogs.list.listItems
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class AddToPlaylistDialog : DialogFragment() {
|
||||
|
||||
override fun onCreateDialog(
|
||||
savedInstanceState: Bundle?
|
||||
): Dialog {
|
||||
|
||||
val names = requireArguments().getParcelableArrayList<PlaylistEntity>("names")
|
||||
val playlists = PlaylistLoader.getAllPlaylists(requireContext())
|
||||
val playlistNames: MutableList<String> = mutableListOf()
|
||||
playlistNames.add(requireContext().resources.getString(R.string.action_new_playlist))
|
||||
for (p in playlists) {
|
||||
playlistNames.add(p.name)
|
||||
for (p in names!!) {
|
||||
playlistNames.add(p.playlistName)
|
||||
}
|
||||
|
||||
|
||||
return MaterialDialog(requireContext()).show {
|
||||
title(R.string.add_playlist_title)
|
||||
cornerRadius(PreferenceUtil.getInstance(requireContext()).dialogCorner)
|
||||
|
@ -52,12 +57,18 @@ class AddToPlaylistDialog : DialogFragment() {
|
|||
}
|
||||
} else {
|
||||
dialog.dismiss()
|
||||
PlaylistsUtil.addToPlaylist(
|
||||
/*PlaylistsUtil.addToPlaylist(
|
||||
requireContext(),
|
||||
songs,
|
||||
playlists[index - 1].id,
|
||||
true
|
||||
)
|
||||
)*/
|
||||
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
PlaylistDatabaseModel().also {
|
||||
it.addSongsToPlaylist(songs, names[index - 1])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,5 +89,17 @@ class AddToPlaylistDialog : DialogFragment() {
|
|||
dialog.arguments = args
|
||||
return dialog
|
||||
}
|
||||
|
||||
fun create(
|
||||
songs: ArrayList<Song>,
|
||||
names: List<PlaylistEntity>
|
||||
): AddToPlaylistDialog {
|
||||
val dialog = AddToPlaylistDialog()
|
||||
val args = Bundle()
|
||||
args.putParcelableArrayList("songs", ArrayList(songs))
|
||||
args.putParcelableArrayList("names", ArrayList(names))
|
||||
dialog.arguments = args
|
||||
return dialog
|
||||
}
|
||||
}
|
||||
}
|
|
@ -24,7 +24,10 @@ import code.name.monkey.retromusic.R
|
|||
import code.name.monkey.retromusic.R.layout
|
||||
import code.name.monkey.retromusic.R.string
|
||||
import code.name.monkey.retromusic.extensions.appHandleColor
|
||||
import code.name.monkey.retromusic.fragments.playlists.PlaylistViewModel
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import code.name.monkey.retromusic.room.playlist.PlaylistDatabaseModel
|
||||
import code.name.monkey.retromusic.room.playlist.PlaylistEntity
|
||||
import code.name.monkey.retromusic.util.PlaylistsUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import com.afollestad.materialdialogs.LayoutMode
|
||||
|
@ -57,13 +60,14 @@ class CreatePlaylistDialog : DialogFragment() {
|
|||
?: return@positiveButton
|
||||
|
||||
if (playlistView.text.toString().trim { it <= ' ' }.isNotEmpty()) {
|
||||
val playlistId = PlaylistsUtil.createPlaylist(
|
||||
/*val playlistId = PlaylistsUtil.createPlaylist(
|
||||
requireContext(),
|
||||
playlistView.text.toString()
|
||||
)
|
||||
if (playlistId != -1) {
|
||||
PlaylistsUtil.addToPlaylist(requireContext(), songs, playlistId, true)
|
||||
}
|
||||
}*/
|
||||
PlaylistDatabaseModel().savePlaylist(PlaylistEntity(playlistView.text.toString()))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue