Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Commit

Permalink
GitServerConfigActivity: set auth mode visibility on launch as well
Browse files Browse the repository at this point in the history
Signed-off-by: Harsh Shandilya <[email protected]>
  • Loading branch information
msfjarvis committed Oct 21, 2020
1 parent 30c8c27 commit f2d0c18
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
- Some classes of errors would be swallowed by an unhelpful 'Invalid remote: origin' message
- Repositories created within APS would contain invalid `.gpg-id` files with no ability to fix them from the app
- Button labels were invisible in Autofill phishing warning screen
- Unsupported authentication modes would appear briefly in the server config screen

### Added

Expand Down
36 changes: 22 additions & 14 deletions app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -234,6 +241,7 @@ class GitServerConfigActivity : BaseGitActivity() {
}

companion object {

fun createCloneIntent(context: Context): Intent {
return Intent(context, GitServerConfigActivity::class.java).apply {
putExtra("cloning", true)
Expand Down

0 comments on commit f2d0c18

Please sign in to comment.