diff --git a/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt b/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt index 6cf3404..adefb1f 100644 --- a/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt +++ b/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt @@ -79,7 +79,11 @@ internal class AdvancedDialog( showRemoveClientCertificate() } binding.clientCertPasswordEdittext.doOnTextChanged { _, _, _, _ -> - showPasswordMissing(binding.clientCertPasswordEdittext.text.toString().isEmpty()) + if (binding.selectedClientCert.text.toString() == + context.getString(R.string.certificate_found) + ) { + showPasswordMissing(binding.clientCertPasswordEdittext.text.toString().isEmpty()) + } } val dialog = MaterialAlertDialogBuilder(context) .setView(binding.root) @@ -114,6 +118,7 @@ internal class AdvancedDialog( binding.toggleClientCert.setOnClickListener { onClickSelectClientCertificate.run() } binding.selectedClientCert.setText(R.string.no_certificate_selected) showPasswordMissing(false) + binding.clientCertPasswordEdittext.text = null } fun showRemoveClientCertificate() { diff --git a/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt b/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt index 8b37e5d..a47a2f0 100644 --- a/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt +++ b/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt @@ -181,6 +181,7 @@ internal class LoginActivity : AppCompatActivity() { .onClickRemoveCaCertificate { invalidateUrl() caCertPath = null + clientCertPassword = null } .onClickSelectClientCertificate { invalidateUrl()