2020-09-05 18:24:05 +00:00
|
|
|
package code.name.monkey.retromusic.dialogs
|
|
|
|
|
2020-09-05 18:51:44 +00:00
|
|
|
import android.app.Dialog
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.widget.Toast
|
|
|
|
import androidx.core.os.bundleOf
|
|
|
|
import androidx.fragment.app.DialogFragment
|
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
import code.name.monkey.retromusic.App
|
|
|
|
import code.name.monkey.retromusic.EXTRA_PLAYLIST
|
|
|
|
import code.name.monkey.retromusic.R
|
|
|
|
import code.name.monkey.retromusic.db.PlaylistWithSongs
|
|
|
|
import code.name.monkey.retromusic.extensions.colorButtons
|
|
|
|
import code.name.monkey.retromusic.extensions.extraNotNull
|
|
|
|
import code.name.monkey.retromusic.extensions.materialDialog
|
|
|
|
import code.name.monkey.retromusic.util.PlaylistsUtil
|
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
import kotlinx.coroutines.withContext
|
|
|
|
|
|
|
|
|
|
|
|
class SavePlaylistDialog : DialogFragment() {
|
|
|
|
companion object {
|
|
|
|
fun create(playlistWithSongs: PlaylistWithSongs): SavePlaylistDialog {
|
|
|
|
return SavePlaylistDialog().apply {
|
|
|
|
arguments = bundleOf(
|
|
|
|
EXTRA_PLAYLIST to playlistWithSongs
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
lifecycleScope.launch(Dispatchers.IO) {
|
|
|
|
val playlistWithSongs: PlaylistWithSongs =
|
|
|
|
extraNotNull<PlaylistWithSongs>(EXTRA_PLAYLIST).value
|
|
|
|
val file = PlaylistsUtil.savePlaylistWithSongs(requireContext(), playlistWithSongs)
|
|
|
|
withContext(Dispatchers.Main) {
|
|
|
|
Toast.makeText(
|
|
|
|
requireContext(),
|
|
|
|
String.format(App.getContext().getString(R.string.saved_playlist_to), file),
|
|
|
|
Toast.LENGTH_LONG
|
|
|
|
).show()
|
|
|
|
dismiss()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
|
|
|
return materialDialog(R.string.save_playlist_title)
|
|
|
|
.setView(R.layout.loading)
|
|
|
|
.create().colorButtons()
|
|
|
|
}
|
2020-09-05 18:24:05 +00:00
|
|
|
}
|