diff options
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt | 32 |
1 files changed, 27 insertions, 5 deletions
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 97010c23..4bbc5965 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt @@ -6,8 +6,11 @@ package com.zeapo.pwdstore.git import android.os.Bundle import android.os.Handler +import android.view.MenuItem import android.view.View import androidx.core.os.postDelayed +import androidx.core.view.isVisible +import androidx.core.widget.doOnTextChanged import androidx.lifecycle.lifecycleScope import com.github.ajalt.timberkt.e import com.github.michaelbull.result.fold @@ -68,6 +71,19 @@ class GitServerConfigActivity : BaseGitActivity() { binding.serverUrl.setText(GitSettings.url) 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 + } else { + binding.authModeSshKey.isVisible = true + binding.authModeOpenKeychain.isVisible = true + binding.authModePassword.isVisible = true + } + } + binding.saveButton.setOnClickListener { when (val updateResult = GitSettings.updateConnectionSettingsIfValid( newAuthMode = newAuthMode, @@ -104,6 +120,16 @@ class GitServerConfigActivity : BaseGitActivity() { } } + override fun onOptionsItemSelected(item: MenuItem): Boolean { + return when (item.itemId) { + android.R.id.home -> { + finish() + true + } + else -> super.onOptionsItemSelected(item) + } + } + /** * Clones the repository, the directory exists, deletes it */ @@ -164,11 +190,7 @@ class GitServerConfigActivity : BaseGitActivity() { setResult(RESULT_OK) finish() }, - failure = { err -> - promptOnErrorHandler(err) { - finish() - } - }, + failure = ::promptOnErrorHandler, ) } } |
