From 07768976c2c79fe15aea39a83ad2a51d3c3853ac Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 23 Jun 2023 17:03:00 +0200 Subject: [PATCH] Fix download dialog appearance with large font size --- .../github/libretube/ui/dialogs/DownloadDialog.kt | 14 +++++++++++--- app/src/main/res/layout/dialog_download.xml | 8 -------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt index 8819c1285..f5078d722 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt @@ -8,6 +8,7 @@ import android.util.Log import android.view.View import android.widget.ArrayAdapter import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.DialogFragment import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope @@ -34,6 +35,7 @@ import java.io.IOException class DownloadDialog( private val videoId: String, ) : DialogFragment() { + private var onDownloadConfirm = {} override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val binding = DialogDownloadBinding.inflate(layoutInflater) @@ -60,7 +62,13 @@ class DownloadDialog( return MaterialAlertDialogBuilder(requireContext()) .setView(binding.root) + .setPositiveButton(R.string.download, null) .show() + .apply { + getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { + onDownloadConfirm.invoke() + } + } } private fun fetchAvailableSources(binding: DialogDownloadBinding) { @@ -143,10 +151,10 @@ class DownloadDialog( restorePreviousSelections(binding, videoStreams, audioStreams, subtitles) - binding.download.setOnClickListener { + onDownloadConfirm = onDownloadConfirm@ { if (binding.fileName.text.toString().isEmpty()) { Toast.makeText(context, R.string.invalid_filename, Toast.LENGTH_SHORT).show() - return@setOnClickListener + return@onDownloadConfirm } val videoPosition = binding.videoSpinner.selectedItemPosition - 1 @@ -155,7 +163,7 @@ class DownloadDialog( if (listOf(videoPosition, audioPosition, subtitlePosition).all { it == -1 }) { Toast.makeText(context, R.string.nothing_selected, Toast.LENGTH_SHORT).show() - return@setOnClickListener + return@onDownloadConfirm } val videoStream = videoStreams.getOrNull(videoPosition) diff --git a/app/src/main/res/layout/dialog_download.xml b/app/src/main/res/layout/dialog_download.xml index e9ceb286c..5ae84b9b3 100644 --- a/app/src/main/res/layout/dialog_download.xml +++ b/app/src/main/res/layout/dialog_download.xml @@ -47,12 +47,4 @@ app:icon="@drawable/ic_caption" app:hint="@string/captions" /> -