From ff0df0d9cc8833ce2f004caf7475331d34d76e0c Mon Sep 17 00:00:00 2001 From: tom5079 Date: Tue, 8 Jun 2021 09:08:24 +0900 Subject: [PATCH] Fixed radio button acting up --- .../ui/dialog/DownloadLocationDialogFragment.kt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt index 1c9b59f4..5a8b2aea 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt @@ -78,6 +78,15 @@ class DownloadLocationDialogFragment : DialogFragment(), DIAware { if (key == null) entries[key]!!.locationAvailable.text = downloadFolder } } + } else { + val downloadFolder = DownloadManager.getInstance(context ?: return@registerForActivityResult).downloadFolder.canonicalPath + val key = entries.keys.firstOrNull { it?.canonicalPath == downloadFolder } + if (key == null) + entries[key]!!.locationAvailable.text = downloadFolder + else { + entries[null]!!.button.isChecked = false + entries[key]!!.button.isChecked = true + } } } @@ -97,8 +106,8 @@ class DownloadLocationDialogFragment : DialogFragment(), DIAware { byteToString(dir.freeSpace) ) root.setOnClickListener { - entries.values.forEach { _ -> - button.isChecked = false + entries.values.forEach { entry -> + entry.button.isChecked = false } button.performClick() Preferences["download_folder"] = dir.toUri().toString() @@ -110,8 +119,8 @@ class DownloadLocationDialogFragment : DialogFragment(), DIAware { DownloadLocationItemBinding.inflate(layoutInflater, binding.root, true).apply { locationType.text = requireContext().getString(R.string.settings_download_folder_custom) root.setOnClickListener { - entries.values.forEach { - it.button.isChecked = false + entries.values.forEach { entry -> + entry.button.isChecked = false } button.performClick()