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 package xyz.quaver.pupil.ui.dialog
import android.app.Dialog
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.AdapterView import android.widget.AdapterView
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import xyz.quaver.pupil.R import xyz.quaver.pupil.R
@@ -37,17 +39,19 @@ import xyz.quaver.pupil.util.getProxyInfo
import xyz.quaver.pupil.util.proxyInfo import xyz.quaver.pupil.util.proxyInfo
import java.net.Proxy 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?) { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
super.onCreate(savedInstanceState) _binding = ProxyDialogBinding.inflate(layoutInflater)
binding = ProxyDialogBinding.inflate(layoutInflater)
setView(binding.root)
initView() initView()
return AlertDialog.Builder(requireContext()).apply {
setView(binding.root)
}.create()
} }
private fun initView() { private fun initView() {
@@ -67,7 +71,7 @@ class ProxyDialog(context: Context) : AlertDialog(context) {
} }
} }
with (binding.typeSelector) { with(binding.typeSelector) {
adapter = ArrayAdapter( adapter = ArrayAdapter(
context, context,
android.R.layout.simple_spinner_dropdown_item, android.R.layout.simple_spinner_dropdown_item,
@@ -105,9 +109,9 @@ class ProxyDialog(context: Context) : AlertDialog(context) {
if (type != Proxy.Type.DIRECT) { if (type != Proxy.Type.DIRECT) {
if (addr == null || addr.isEmpty()) 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) 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) if (addr == null || addr.isEmpty() || port == null)
return@setOnClickListener return@setOnClickListener

View File

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