Merge pull request #1297 from 66Omar/1283-show_toast_for_existing_playlists

[1283] Show toast when adding songs to an existing playlist
This commit is contained in:
Prathamesh More 2022-03-20 12:46:51 +05:30 committed by GitHub
commit 09078e1c05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 11 deletions

View file

@ -19,20 +19,15 @@ import android.os.Bundle
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.lifecycle.lifecycleScope
import code.name.monkey.retromusic.EXTRA_PLAYLISTS import code.name.monkey.retromusic.EXTRA_PLAYLISTS
import code.name.monkey.retromusic.EXTRA_SONG import code.name.monkey.retromusic.EXTRA_SONG
import code.name.monkey.retromusic.R import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.db.PlaylistEntity import code.name.monkey.retromusic.db.PlaylistEntity
import code.name.monkey.retromusic.db.toSongsEntity
import code.name.monkey.retromusic.extensions.colorButtons import code.name.monkey.retromusic.extensions.colorButtons
import code.name.monkey.retromusic.extensions.extraNotNull import code.name.monkey.retromusic.extensions.extraNotNull
import code.name.monkey.retromusic.extensions.materialDialog import code.name.monkey.retromusic.extensions.materialDialog
import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.fragments.ReloadType.Playlists
import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.model.Song
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.koin.androidx.viewmodel.ext.android.sharedViewModel import org.koin.androidx.viewmodel.ext.android.sharedViewModel
class AddToPlaylistDialog : DialogFragment() { class AddToPlaylistDialog : DialogFragment() {
@ -76,14 +71,11 @@ class AddToPlaylistDialog : DialogFragment() {
if (which == 0) { if (which == 0) {
showCreateDialog(songs) showCreateDialog(songs)
} else { } else {
lifecycleScope.launch(Dispatchers.IO) { libraryViewModel.addToPlaylist(playlistNames[which], songs)
val songEntities = songs.toSongsEntity(playlistEntities[which - 1])
libraryViewModel.insertSongs(songEntities)
libraryViewModel.forceReload(Playlists)
}
} }
dialog.dismiss() dialog.dismiss()
} }
.setNegativeButton(R.string.action_cancel, null)
.create().colorButtons() .create().colorButtons()
} }

View file

@ -378,7 +378,6 @@ class LibraryViewModel(
val playlistId: Long = val playlistId: Long =
createPlaylist(PlaylistEntity(playlistName = playlistName)) createPlaylist(PlaylistEntity(playlistName = playlistName))
insertSongs(songs.map { it.toSongEntity(playlistId) }) insertSongs(songs.map { it.toSongEntity(playlistId) })
forceReload(Playlists)
withContext(Main) { withContext(Main) {
Toast.makeText( Toast.makeText(
App.getContext(), App.getContext(),
@ -395,6 +394,7 @@ class LibraryViewModel(
}) })
} }
} }
forceReload(Playlists)
withContext(Main) { withContext(Main) {
Toast.makeText(App.getContext(), App.getContext().getString( Toast.makeText(App.getContext(), App.getContext().getString(
R.string.added_song_count_to_playlist, R.string.added_song_count_to_playlist,