From 3840f43fa0026b06b15913379761c1bf6b6a1c68 Mon Sep 17 00:00:00 2001 From: Fabian Henneke Date: Thu, 3 Sep 2020 10:48:14 +0200 Subject: Refactor Git operations and auth (#1066) Co-authored-by: Harsh Shandilya --- .../com/zeapo/pwdstore/git/GitConfigActivity.kt | 31 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt') 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 89376bfd..c6ab3ca3 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt @@ -11,6 +11,7 @@ import android.util.Patterns import androidx.core.os.postDelayed import androidx.lifecycle.lifecycleScope import com.github.ajalt.timberkt.e +import com.github.michaelbull.result.fold import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.Snackbar import com.zeapo.pwdstore.R @@ -75,8 +76,34 @@ class GitConfigActivity : BaseGitActivity() { e(ex) { "Failed to start GitLogActivity" } } } - binding.gitAbortRebase.setOnClickListener { lifecycleScope.launch { launchGitOperation(BREAK_OUT_OF_DETACHED) } } - binding.gitResetToRemote.setOnClickListener { lifecycleScope.launch { launchGitOperation(REQUEST_RESET) } } + 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, + ) + } + } + binding.gitResetToRemote.setOnClickListener { + lifecycleScope.launch { + launchGitOperation(REQUEST_RESET).fold( + success = ::finishOnSuccessHandler, + failure = ::finishAfterPromptOnErrorHandler, + ) + } + } } /** -- cgit v1.2.3