mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 00:10:32 +05:30
Merge pull request #3261 from Isira-Seneviratne/Dialog_bindings
Move dialog bindings to onCreateDialog() methods.
This commit is contained in:
commit
938dca2c9f
@ -12,7 +12,7 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.api.PlaylistsHelper
|
import com.github.libretube.api.PlaylistsHelper
|
||||||
import com.github.libretube.api.RetrofitInstance
|
import com.github.libretube.api.RetrofitInstance
|
||||||
import com.github.libretube.databinding.DialogAddtoplaylistBinding
|
import com.github.libretube.databinding.DialogAddToPlaylistBinding
|
||||||
import com.github.libretube.extensions.TAG
|
import com.github.libretube.extensions.TAG
|
||||||
import com.github.libretube.extensions.toastFromMainThread
|
import com.github.libretube.extensions.toastFromMainThread
|
||||||
import com.github.libretube.ui.models.PlaylistViewModel
|
import com.github.libretube.ui.models.PlaylistViewModel
|
||||||
@ -27,26 +27,25 @@ import kotlinx.coroutines.launch
|
|||||||
class AddToPlaylistDialog(
|
class AddToPlaylistDialog(
|
||||||
private val videoId: String? = null
|
private val videoId: String? = null
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogAddtoplaylistBinding
|
|
||||||
private val viewModel: PlaylistViewModel by activityViewModels()
|
private val viewModel: PlaylistViewModel by activityViewModels()
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogAddtoplaylistBinding.inflate(layoutInflater)
|
val binding = DialogAddToPlaylistBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
binding.createPlaylist.setOnClickListener {
|
binding.createPlaylist.setOnClickListener {
|
||||||
CreatePlaylistDialog {
|
CreatePlaylistDialog {
|
||||||
fetchPlaylists()
|
fetchPlaylists(binding)
|
||||||
}.show(childFragmentManager, null)
|
}.show(childFragmentManager, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchPlaylists()
|
fetchPlaylists(binding)
|
||||||
|
|
||||||
return MaterialAlertDialogBuilder(requireContext())
|
return MaterialAlertDialogBuilder(requireContext())
|
||||||
.setView(binding.root)
|
.setView(binding.root)
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun fetchPlaylists() {
|
private fun fetchPlaylists(binding: DialogAddToPlaylistBinding) {
|
||||||
lifecycleScope.launchWhenCreated {
|
lifecycleScope.launchWhenCreated {
|
||||||
val response = try {
|
val response = try {
|
||||||
PlaylistsHelper.getPlaylists()
|
PlaylistsHelper.getPlaylists()
|
||||||
|
@ -18,10 +18,8 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
|
|||||||
class CreatePlaylistDialog(
|
class CreatePlaylistDialog(
|
||||||
private val onSuccess: () -> Unit = {}
|
private val onSuccess: () -> Unit = {}
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogCreatePlaylistBinding
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogCreatePlaylistBinding.inflate(layoutInflater)
|
val binding = DialogCreatePlaylistBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
binding.clonePlaylist.setOnClickListener {
|
binding.clonePlaylist.setOnClickListener {
|
||||||
val playlistUrl = binding.playlistUrl.text.toString().toHttpUrlOrNull()
|
val playlistUrl = binding.playlistUrl.text.toString().toHttpUrlOrNull()
|
||||||
|
@ -17,10 +17,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|||||||
class DeleteAccountDialog(
|
class DeleteAccountDialog(
|
||||||
private val onLogout: () -> Unit
|
private val onLogout: () -> Unit
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogDeleteAccountBinding
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogDeleteAccountBinding.inflate(layoutInflater)
|
val binding = DialogDeleteAccountBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
binding.cancelButton.setOnClickListener {
|
binding.cancelButton.setOnClickListener {
|
||||||
dialog?.dismiss()
|
dialog?.dismiss()
|
||||||
|
@ -27,12 +27,10 @@ import retrofit2.HttpException
|
|||||||
class DownloadDialog(
|
class DownloadDialog(
|
||||||
private val videoId: String
|
private val videoId: String
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogDownloadBinding
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogDownloadBinding.inflate(layoutInflater)
|
val binding = DialogDownloadBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
fetchAvailableSources()
|
fetchAvailableSources(binding)
|
||||||
|
|
||||||
binding.fileName.filters += InputFilter { source, start, end, _, _, _ ->
|
binding.fileName.filters += InputFilter { source, start, end, _, _, _ ->
|
||||||
if (source.isNullOrBlank()) {
|
if (source.isNullOrBlank()) {
|
||||||
@ -58,7 +56,7 @@ class DownloadDialog(
|
|||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun fetchAvailableSources() {
|
private fun fetchAvailableSources(binding: DialogDownloadBinding) {
|
||||||
lifecycleScope.launchWhenCreated {
|
lifecycleScope.launchWhenCreated {
|
||||||
val response = try {
|
val response = try {
|
||||||
RetrofitInstance.api.getStreams(videoId)
|
RetrofitInstance.api.getStreams(videoId)
|
||||||
@ -72,11 +70,11 @@ class DownloadDialog(
|
|||||||
Toast.makeText(context, R.string.server_error, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.server_error, Toast.LENGTH_SHORT).show()
|
||||||
return@launchWhenCreated
|
return@launchWhenCreated
|
||||||
}
|
}
|
||||||
initDownloadOptions(response)
|
initDownloadOptions(binding, response)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initDownloadOptions(streams: Streams) {
|
private fun initDownloadOptions(binding: DialogDownloadBinding, streams: Streams) {
|
||||||
binding.fileName.setText(streams.title)
|
binding.fileName.setText(streams.title)
|
||||||
|
|
||||||
val videoStreams = streams.videoStreams.filter {
|
val videoStreams = streams.videoStreams.filter {
|
||||||
@ -126,7 +124,7 @@ class DownloadDialog(
|
|||||||
binding.audioSpinner.adapter = audioArrayAdapter
|
binding.audioSpinner.adapter = audioArrayAdapter
|
||||||
binding.subtitleSpinner.adapter = subtitleArrayAdapter
|
binding.subtitleSpinner.adapter = subtitleArrayAdapter
|
||||||
|
|
||||||
restorePreviousSelections(videoStreams, audioStreams, subtitles)
|
restorePreviousSelections(binding, videoStreams, audioStreams, subtitles)
|
||||||
|
|
||||||
binding.download.setOnClickListener {
|
binding.download.setOnClickListener {
|
||||||
if (binding.fileName.text.toString().isEmpty()) {
|
if (binding.fileName.text.toString().isEmpty()) {
|
||||||
@ -185,6 +183,7 @@ class DownloadDialog(
|
|||||||
* Restore the download selections from a previous session
|
* Restore the download selections from a previous session
|
||||||
*/
|
*/
|
||||||
private fun restorePreviousSelections(
|
private fun restorePreviousSelections(
|
||||||
|
binding: DialogDownloadBinding,
|
||||||
videoStreams: List<PipedStream>,
|
videoStreams: List<PipedStream>,
|
||||||
audioStreams: List<PipedStream>,
|
audioStreams: List<PipedStream>,
|
||||||
subtitles: List<Subtitle>
|
subtitles: List<Subtitle>
|
||||||
|
@ -22,10 +22,8 @@ import retrofit2.HttpException
|
|||||||
class LoginDialog(
|
class LoginDialog(
|
||||||
private val onLogin: () -> Unit
|
private val onLogin: () -> Unit
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogLoginBinding
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogLoginBinding.inflate(layoutInflater)
|
val binding = DialogLoginBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
binding.login.setOnClickListener {
|
binding.login.setOnClickListener {
|
||||||
val email = binding.username.text?.toString()
|
val email = binding.username.text?.toString()
|
||||||
|
@ -13,11 +13,9 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|||||||
class LogoutDialog(
|
class LogoutDialog(
|
||||||
private val onLogout: () -> Unit
|
private val onLogout: () -> Unit
|
||||||
) : DialogFragment() {
|
) : DialogFragment() {
|
||||||
private lateinit var binding: DialogLogoutBinding
|
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogLogoutBinding.inflate(layoutInflater)
|
val binding = DialogLogoutBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
val user = PreferenceHelper.getUsername()
|
val user = PreferenceHelper.getUsername()
|
||||||
|
|
||||||
|
@ -13,13 +13,9 @@ import com.github.libretube.ui.adapters.NavBarOptionsAdapter
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
|
||||||
class NavBarOptionsDialog : DialogFragment() {
|
class NavBarOptionsDialog : DialogFragment() {
|
||||||
private lateinit var binding: DialogNavbarOptionsBinding
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
binding = DialogNavbarOptionsBinding.inflate(layoutInflater)
|
val binding = DialogNavbarOptionsBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
val options = NavBarHelper.getNavBarItems(requireContext())
|
val options = NavBarHelper.getNavBarItems(requireContext())
|
||||||
|
|
||||||
val adapter = NavBarOptionsAdapter(
|
val adapter = NavBarOptionsAdapter(
|
||||||
options.toMutableList(),
|
options.toMutableList(),
|
||||||
NavBarHelper.getStartFragmentId(requireContext())
|
NavBarHelper.getStartFragmentId(requireContext())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user