diff --git a/app/src/main/java/ani/dantotsu/settings/ProxyDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/ProxyDialogFragment.kt index a0c275be..14700753 100644 --- a/app/src/main/java/ani/dantotsu/settings/ProxyDialogFragment.kt +++ b/app/src/main/java/ani/dantotsu/settings/ProxyDialogFragment.kt @@ -6,7 +6,6 @@ import android.view.View import android.view.ViewGroup import ani.dantotsu.BottomSheetDialogFragment import ani.dantotsu.databinding.BottomSheetProxyBinding -import ani.dantotsu.snackString import ani.dantotsu.settings.saving.PrefManager import ani.dantotsu.settings.saving.PrefName import ani.dantotsu.restartApp @@ -15,10 +14,10 @@ class ProxyDialogFragment : BottomSheetDialogFragment() { private var _binding: BottomSheetProxyBinding? = null private val binding get() = _binding!! - private var proxyHost: String? = PrefManager.getVal(PrefName.Socks5ProxyHost) ?: "" - private var proxyPort: String? = PrefManager.getVal(PrefName.Socks5ProxyPort) ?: "" - private var proxyUsername: String? = PrefManager.getVal(PrefName.Socks5ProxyUsername) ?: "" - private var proxyPassword: String? = PrefManager.getVal(PrefName.Socks5ProxyPassword) ?: "" + private var proxyHost: String? = PrefManager.getVal(PrefName.Socks5ProxyHost).orEmpty() + private var proxyPort: String? = PrefManager.getVal(PrefName.Socks5ProxyPort).orEmpty() + private var proxyUsername: String? = PrefManager.getVal(PrefName.Socks5ProxyUsername).orEmpty() + private var proxyPassword: String? = PrefManager.getVal(PrefName.Socks5ProxyPassword).orEmpty() private var authEnabled: Boolean = PrefManager.getVal(PrefName.ProxyAuthEnabled) private val proxyEnabled: Boolean = PrefManager.getVal(PrefName.EnableSocks5Proxy) @@ -40,11 +39,13 @@ class ProxyDialogFragment : BottomSheetDialogFragment() { binding.proxyPassword.setText(proxyPassword) binding.proxyAuthentication.isChecked = authEnabled + toggleAuthentication(authEnabled) + binding.proxySave.setOnClickListener { - proxyHost = binding.proxyHost.text.toString() ?: "" - proxyPort = binding.proxyPort.text.toString() ?: "" - proxyUsername = binding.proxyUsername.text.toString() ?: "" - proxyPassword = binding.proxyPassword.text.toString() ?: "" + proxyHost = binding.proxyHost.text?.toString().orEmpty() + proxyPort = binding.proxyPort.text?.toString().orEmpty() + proxyUsername = binding.proxyUsername.text?.toString().orEmpty() + proxyPassword = binding.proxyPassword.text?.toString().orEmpty() PrefManager.setVal(PrefName.Socks5ProxyHost, proxyHost) PrefManager.setVal(PrefName.Socks5ProxyPort, proxyPort) @@ -57,10 +58,22 @@ class ProxyDialogFragment : BottomSheetDialogFragment() { binding.proxyAuthentication.setOnCheckedChangeListener { _, isChecked -> PrefManager.setVal(PrefName.ProxyAuthEnabled, isChecked) - binding.proxyUsername.isEnabled = isChecked - binding.proxyPassword.isEnabled = isChecked - binding.proxyUsernameLayout.isEnabled = isChecked - binding.proxyPasswordLayout.isEnabled = isChecked + toggleAuthentication(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 + } } } @@ -68,4 +81,4 @@ class ProxyDialogFragment : BottomSheetDialogFragment() { _binding = null super.onDestroyView() } -} \ No newline at end of file +} diff --git a/app/src/main/java/ani/dantotsu/util/AlertDialogBuilder.kt b/app/src/main/java/ani/dantotsu/util/AlertDialogBuilder.kt index 374eb3d1..7891e7d6 100644 --- a/app/src/main/java/ani/dantotsu/util/AlertDialogBuilder.kt +++ b/app/src/main/java/ani/dantotsu/util/AlertDialogBuilder.kt @@ -181,7 +181,10 @@ class AlertDialogBuilder(private val context: Context) { dialog.setOnShowListener { onShow?.invoke() } - dialog.window?.setDimAmount(0.8f) + dialog.window?.apply { + setDimAmount(0.8f) + attributes.windowAnimations = android.R.style.Animation_Dialog + } dialog.show() } }