Merge pull request #534 from Sadwhy/patch-2

* Fix save state

* Add animation to dialog

* Clean redundant code
This commit is contained in:
aayush262 2024-12-11 22:50:16 +05:30 committed by GitHub
commit 1686854632
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 15 deletions

View file

@ -6,7 +6,6 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import ani.dantotsu.BottomSheetDialogFragment import ani.dantotsu.BottomSheetDialogFragment
import ani.dantotsu.databinding.BottomSheetProxyBinding import ani.dantotsu.databinding.BottomSheetProxyBinding
import ani.dantotsu.snackString
import ani.dantotsu.settings.saving.PrefManager import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName import ani.dantotsu.settings.saving.PrefName
import ani.dantotsu.restartApp import ani.dantotsu.restartApp
@ -15,10 +14,10 @@ class ProxyDialogFragment : BottomSheetDialogFragment() {
private var _binding: BottomSheetProxyBinding? = null private var _binding: BottomSheetProxyBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private var proxyHost: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyHost) ?: "" private var proxyHost: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyHost).orEmpty()
private var proxyPort: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyPort) ?: "" private var proxyPort: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyPort).orEmpty()
private var proxyUsername: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyUsername) ?: "" private var proxyUsername: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyUsername).orEmpty()
private var proxyPassword: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyPassword) ?: "" private var proxyPassword: String? = PrefManager.getVal<String>(PrefName.Socks5ProxyPassword).orEmpty()
private var authEnabled: Boolean = PrefManager.getVal<Boolean>(PrefName.ProxyAuthEnabled) private var authEnabled: Boolean = PrefManager.getVal<Boolean>(PrefName.ProxyAuthEnabled)
private val proxyEnabled: Boolean = PrefManager.getVal<Boolean>(PrefName.EnableSocks5Proxy) private val proxyEnabled: Boolean = PrefManager.getVal<Boolean>(PrefName.EnableSocks5Proxy)
@ -40,11 +39,13 @@ class ProxyDialogFragment : BottomSheetDialogFragment() {
binding.proxyPassword.setText(proxyPassword) binding.proxyPassword.setText(proxyPassword)
binding.proxyAuthentication.isChecked = authEnabled binding.proxyAuthentication.isChecked = authEnabled
toggleAuthentication(authEnabled)
binding.proxySave.setOnClickListener { binding.proxySave.setOnClickListener {
proxyHost = binding.proxyHost.text.toString() ?: "" proxyHost = binding.proxyHost.text?.toString().orEmpty()
proxyPort = binding.proxyPort.text.toString() ?: "" proxyPort = binding.proxyPort.text?.toString().orEmpty()
proxyUsername = binding.proxyUsername.text.toString() ?: "" proxyUsername = binding.proxyUsername.text?.toString().orEmpty()
proxyPassword = binding.proxyPassword.text.toString() ?: "" proxyPassword = binding.proxyPassword.text?.toString().orEmpty()
PrefManager.setVal(PrefName.Socks5ProxyHost, proxyHost) PrefManager.setVal(PrefName.Socks5ProxyHost, proxyHost)
PrefManager.setVal(PrefName.Socks5ProxyPort, proxyPort) PrefManager.setVal(PrefName.Socks5ProxyPort, proxyPort)
@ -57,10 +58,22 @@ class ProxyDialogFragment : BottomSheetDialogFragment() {
binding.proxyAuthentication.setOnCheckedChangeListener { _, isChecked -> binding.proxyAuthentication.setOnCheckedChangeListener { _, isChecked ->
PrefManager.setVal(PrefName.ProxyAuthEnabled, isChecked) PrefManager.setVal(PrefName.ProxyAuthEnabled, isChecked)
binding.proxyUsername.isEnabled = isChecked toggleAuthentication(isChecked)
binding.proxyPassword.isEnabled = isChecked }
binding.proxyUsernameLayout.isEnabled = isChecked }
binding.proxyPasswordLayout.isEnabled = isChecked
private fun toggleAuthentication(isChecked: Boolean) {
arrayOf(
binding.proxyUsername,
binding.proxyPassword,
binding.proxyUsernameLayout,
binding.proxyPasswordLayout
).forEach {
it.isEnabled = isChecked
it.alpha = when (isChecked) {
true -> 1f
false -> 0.5f
}
} }
} }

View file

@ -181,7 +181,10 @@ class AlertDialogBuilder(private val context: Context) {
dialog.setOnShowListener { dialog.setOnShowListener {
onShow?.invoke() onShow?.invoke()
} }
dialog.window?.setDimAmount(0.8f) dialog.window?.apply {
setDimAmount(0.8f)
attributes.windowAnimations = android.R.style.Animation_Dialog
}
dialog.show() dialog.show()
} }
} }