mirror of
https://github.com/libre-tube/LibreTube.git
synced 2024-12-13 22:00:30 +05:30
remember selected playlist
This commit is contained in:
parent
3b19d9b995
commit
35fc7ddef4
@ -13,4 +13,7 @@ object Globals {
|
||||
|
||||
// for downloads
|
||||
var IS_DOWNLOAD_RUNNING = false
|
||||
|
||||
// for playlists
|
||||
var SELECTED_PLAYLIST_ID: String? = null
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import android.widget.Toast
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.github.libretube.Globals
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.databinding.DialogAddtoplaylistBinding
|
||||
import com.github.libretube.obj.PlaylistId
|
||||
@ -18,7 +19,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
class AddtoPlaylistDialog : DialogFragment() {
|
||||
class AddToPlaylistDialog : DialogFragment() {
|
||||
private val TAG = "AddToPlaylistDialog"
|
||||
private lateinit var binding: DialogAddtoplaylistBinding
|
||||
|
||||
@ -59,24 +60,29 @@ class AddtoPlaylistDialog : DialogFragment() {
|
||||
return@launchWhenCreated
|
||||
}
|
||||
if (response.isNotEmpty()) {
|
||||
var names = emptyList<String>().toMutableList()
|
||||
for (playlist in response) {
|
||||
names.add(playlist.name!!)
|
||||
}
|
||||
val names = response.map { it.name }
|
||||
val arrayAdapter =
|
||||
ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, names)
|
||||
arrayAdapter.setDropDownViewResource(
|
||||
android.R.layout.simple_spinner_dropdown_item
|
||||
)
|
||||
binding.playlistsSpinner.adapter = arrayAdapter
|
||||
if (Globals.SELECTED_PLAYLIST_ID != null) {
|
||||
var selectionIndex = 0
|
||||
response.forEachIndexed { index, playlist ->
|
||||
if (playlist.id == Globals.SELECTED_PLAYLIST_ID) selectionIndex = index
|
||||
}
|
||||
binding.playlistsSpinner.setSelection(selectionIndex)
|
||||
}
|
||||
runOnUiThread {
|
||||
binding.addToPlaylist.setOnClickListener {
|
||||
val index = binding.playlistsSpinner.selectedItemPosition
|
||||
Globals.SELECTED_PLAYLIST_ID = response[index].id!!
|
||||
addToPlaylist(
|
||||
response[binding.playlistsSpinner.selectedItemPosition].id!!
|
||||
response[index].id!!
|
||||
)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
}
|
@ -50,7 +50,7 @@ class VideoOptionsDialog(private val videoId: String, context: Context) : Dialog
|
||||
context?.getString(R.string.addToPlaylist) -> {
|
||||
val token = PreferenceHelper.getToken()
|
||||
if (token != "") {
|
||||
val newFragment = AddtoPlaylistDialog()
|
||||
val newFragment = AddToPlaylistDialog()
|
||||
val bundle = Bundle()
|
||||
bundle.putString("videoId", videoId)
|
||||
newFragment.arguments = bundle
|
||||
|
@ -46,7 +46,7 @@ import com.github.libretube.adapters.TrendingAdapter
|
||||
import com.github.libretube.databinding.DoubleTapOverlayBinding
|
||||
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
||||
import com.github.libretube.databinding.FragmentPlayerBinding
|
||||
import com.github.libretube.dialogs.AddtoPlaylistDialog
|
||||
import com.github.libretube.dialogs.AddToPlaylistDialog
|
||||
import com.github.libretube.dialogs.DownloadDialog
|
||||
import com.github.libretube.dialogs.ShareDialog
|
||||
import com.github.libretube.obj.ChapterSegment
|
||||
@ -1097,7 +1097,7 @@ class PlayerFragment : Fragment() {
|
||||
if (token != "") {
|
||||
isSubscribed()
|
||||
binding.relPlayerSave.setOnClickListener {
|
||||
val newFragment = AddtoPlaylistDialog()
|
||||
val newFragment = AddToPlaylistDialog()
|
||||
val bundle = Bundle()
|
||||
bundle.putString("videoId", videoId)
|
||||
newFragment.arguments = bundle
|
||||
|
Loading…
Reference in New Issue
Block a user