aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
diff options
context:
space:
mode:
authorFabian Henneke <FabianHenneke@users.noreply.github.com>2020-09-07 10:10:59 +0200
committerGitHub <noreply@github.com>2020-09-07 13:40:59 +0530
commit2687763bdaa36709667d38919b7cba1a7e26206f (patch)
treedd91c387b59c107e1521b426f3e7852b26772866 /app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
parent2c0ecdfb67aeb8d47702159e1c61659679bc9408 (diff)
downloadHardenedPass-2687763bdaa36709667d38919b7cba1a7e26206f.tar.gz
HardenedPass-2687763bdaa36709667d38919b7cba1a7e26206f.zip
Fix behavior on failing Git operations (#1084)
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt40
1 files changed, 24 insertions, 16 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
index 46a54f57..b3217395 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
@@ -81,28 +81,36 @@ class GitConfigActivity : BaseGitActivity() {
binding.gitAbortRebase.setOnClickListener {
lifecycleScope.launch {
launchGitOperation(BREAK_OUT_OF_DETACHED).fold(
- success = {
- MaterialAlertDialogBuilder(this@GitConfigActivity)
- .setTitle(resources.getString(R.string.git_abort_and_push_title))
- .setMessage(resources.getString(
- R.string.git_break_out_of_detached_success,
- GitSettings.branch,
- "conflicting-${GitSettings.branch}-...",
- ))
- .setOnCancelListener { finish() }
- .setPositiveButton(resources.getString(R.string.dialog_ok)) { _, _ ->
- finish()
- }.show()
- },
- failure = ::finishAfterPromptOnErrorHandler,
+ success = {
+ MaterialAlertDialogBuilder(this@GitConfigActivity).run {
+ setTitle(resources.getString(R.string.git_abort_and_push_title))
+ setMessage(resources.getString(
+ R.string.git_break_out_of_detached_success,
+ GitSettings.branch,
+ "conflicting-${GitSettings.branch}-...",
+ ))
+ setOnDismissListener() { finish() }
+ setPositiveButton(resources.getString(R.string.dialog_ok)) { _, _ -> }
+ show()
+ }
+ },
+ failure = { err ->
+ promptOnErrorHandler(err) {
+ finish()
+ }
+ },
)
}
}
binding.gitResetToRemote.setOnClickListener {
lifecycleScope.launch {
launchGitOperation(REQUEST_RESET).fold(
- success = ::finishOnSuccessHandler,
- failure = ::finishAfterPromptOnErrorHandler,
+ success = ::finishOnSuccessHandler,
+ failure = { err ->
+ promptOnErrorHandler(err) {
+ finish()
+ }
+ },
)
}
}