From f2d0c186725e1f631151361cd32959eb2a2a2ea8 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 21 Oct 2020 05:49:32 +0530 Subject: GitServerConfigActivity: set auth mode visibility on launch as well Signed-off-by: Harsh Shandilya --- .../zeapo/pwdstore/git/GitServerConfigActivity.kt | 36 +++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'app') diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt index 364dcc1a..7f1bb6b3 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt @@ -71,24 +71,15 @@ class GitServerConfigActivity : BaseGitActivity() { } } - binding.serverUrl.setText(GitSettings.url) + binding.serverUrl.setText(GitSettings.url.also { + if (it.isNullOrEmpty()) return@also + setAuthModes(it.startsWith("http://") || it.startsWith("https://")) + }) binding.serverBranch.setText(GitSettings.branch) binding.serverUrl.doOnTextChanged { text, _, _, _ -> if (text.isNullOrEmpty()) return@doOnTextChanged - if (text.startsWith("http://") || text.startsWith("https://")) { - binding.authModeSshKey.isVisible = false - binding.authModeOpenKeychain.isVisible = false - binding.authModePassword.isVisible = true - if (binding.authModeGroup.checkedButtonId != binding.authModePassword.id) - binding.authModeGroup.check(View.NO_ID) - } else { - binding.authModeSshKey.isVisible = true - binding.authModeOpenKeychain.isVisible = true - binding.authModePassword.isVisible = true - if (binding.authModeGroup.checkedButtonId == View.NO_ID) - binding.authModeGroup.check(binding.authModeSshKey.id) - } + setAuthModes(text.startsWith("http://") || text.startsWith("https://")) } binding.saveButton.setOnClickListener { @@ -168,6 +159,22 @@ class GitServerConfigActivity : BaseGitActivity() { } } + private fun setAuthModes(isHttps: Boolean) = with(binding) { + if (isHttps) { + authModeSshKey.isVisible = false + authModeOpenKeychain.isVisible = false + authModePassword.isVisible = true + if (authModeGroup.checkedButtonId != authModePassword.id) + authModeGroup.check(View.NO_ID) + } else { + authModeSshKey.isVisible = true + authModeOpenKeychain.isVisible = true + authModePassword.isVisible = true + if (authModeGroup.checkedButtonId == View.NO_ID) + authModeGroup.check(authModeSshKey.id) + } + } + /** * Clones the repository, the directory exists, deletes it */ @@ -234,6 +241,7 @@ class GitServerConfigActivity : BaseGitActivity() { } companion object { + fun createCloneIntent(context: Context): Intent { return Intent(context, GitServerConfigActivity::class.java).apply { putExtra("cloning", true) -- cgit v1.2.3