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-03 10:48:14 +0200
committerGitHub <noreply@github.com>2020-09-03 14:18:14 +0530
commit3840f43fa0026b06b15913379761c1bf6b6a1c68 (patch)
tree41a5d47c3ed3ef06430d2d045876301d4db416ad /app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt
parent258ccc601605f3112d9310043b9a34bf6ca3c9e0 (diff)
downloadHardenedPass-3840f43fa0026b06b15913379761c1bf6b6a1c68.tar.gz
HardenedPass-3840f43fa0026b06b15913379761c1bf6b6a1c68.zip
Refactor Git operations and auth (#1066)
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
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.kt31
1 files changed, 29 insertions, 2 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 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,
+ )
+ }
+ }
}
/**