Fixed Proxy dialog

This commit is contained in:
tom5079
2021-04-04 08:22:55 +09:00
parent 1107cf1a9c
commit ca54fb6eb0
2 changed files with 15 additions and 12 deletions

View File

@@ -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)
setView(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() {
@@ -67,7 +71,7 @@ class ProxyDialog(context: Context) : AlertDialog(context) {
}
}
with (binding.typeSelector) {
with(binding.typeSelector) {
adapter = ArrayAdapter(
context,
android.R.layout.simple_spinner_dropdown_item,
@@ -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

View File

@@ -107,8 +107,7 @@ class SettingsFragment :
lockLauncher.launch(intent)
}
"proxy" -> {
ProxyDialog(requireContext())
.show()
ProxyDialogFragment().show(parentFragmentManager, "Proxy Dialog")
}
"user_id" -> {
(context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip(