From ba4449d0033c2b79b275e21c4f7fdfbc869b544b Mon Sep 17 00:00:00 2001 From: tom5079 Date: Sun, 4 Apr 2021 08:22:55 +0900 Subject: [PATCH] Fixed Proxy dialog --- app/build.gradle | 2 +- ...{ProxyDialog.kt => ProxyDialogFragment.kt} | 22 +++++++++++-------- .../pupil/ui/fragment/SettingsFragment.kt | 3 +-- 3 files changed, 15 insertions(+), 12 deletions(-) rename app/src/main/java/xyz/quaver/pupil/ui/dialog/{ProxyDialog.kt => ProxyDialogFragment.kt} (85%) diff --git a/app/build.gradle b/app/build.gradle index d08e432d..23548e0a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,7 +127,7 @@ dependencies { implementation "ru.noties.markwon:core:3.1.0" implementation "xyz.quaver:libpupil:1.8.16" - implementation "xyz.quaver:documentfilex:0.4-alpha02" + implementation "xyz.quaver:documentfilex:0.5-SNAPSHOT" implementation "xyz.quaver:floatingsearchview:1.1.1" testImplementation "junit:junit:4.13.1" diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialog.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt similarity index 85% rename from app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialog.kt rename to app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt index 47b36601..8cce55ea 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialog.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/dialog/ProxyDialogFragment.kt @@ -18,12 +18,14 @@ package xyz.quaver.pupil.ui.dialog +import android.app.Dialog import android.content.Context import android.os.Bundle import android.view.View import android.widget.AdapterView import android.widget.ArrayAdapter import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import xyz.quaver.pupil.R @@ -37,17 +39,19 @@ import xyz.quaver.pupil.util.getProxyInfo import xyz.quaver.pupil.util.proxyInfo import java.net.Proxy -class ProxyDialog(context: Context) : AlertDialog(context) { +class ProxyDialogFragment : DialogFragment() { - private lateinit var binding: ProxyDialogBinding + private var _binding: ProxyDialogBinding? = null + private val binding get() = _binding!! - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - binding = ProxyDialogBinding.inflate(layoutInflater) - setContentView(binding.root) + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + _binding = ProxyDialogBinding.inflate(layoutInflater) initView() + + return AlertDialog.Builder(requireContext()).apply { + setView(binding.root) + }.create() } private fun initView() { @@ -105,9 +109,9 @@ class ProxyDialog(context: Context) : AlertDialog(context) { if (type != Proxy.Type.DIRECT) { if (addr == null || addr.isEmpty()) - binding.addr.error = context.getText(R.string.proxy_dialog_error) + binding.addr.error = requireContext().getText(R.string.proxy_dialog_error) if (port == null) - binding.port.error = context.getText(R.string.proxy_dialog_error) + binding.port.error = requireContext().getText(R.string.proxy_dialog_error) if (addr == null || addr.isEmpty() || port == null) return@setOnClickListener diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt index b574ef85..b1bd3879 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt @@ -108,8 +108,7 @@ class SettingsFragment : .show() } "proxy" -> { - ProxyDialog(requireContext()) - .show() + ProxyDialogFragment().show(parentFragmentManager, "Proxy Dialog") } "user_id" -> { (context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip(