aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.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/BaseGitActivity.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/BaseGitActivity.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt19
1 files changed, 12 insertions, 7 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt
index dd8ea731..a15972c1 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt
@@ -61,7 +61,7 @@ abstract class BaseGitActivity : AppCompatActivity() {
finish()
}
- fun finishAfterPromptOnErrorHandler(err: Throwable) {
+ fun promptOnErrorHandler(err: Throwable, onPromptDone: () -> Unit = {}) {
val error = rootCauseException(err)
if (!isExplicitlyUserInitiatedError(error)) {
getEncryptedPrefs("git_operation").edit {
@@ -69,12 +69,17 @@ abstract class BaseGitActivity : AppCompatActivity() {
}
sharedPrefs.edit { remove(PreferenceKeys.SSH_OPENKEYSTORE_KEYID) }
d(error)
- MaterialAlertDialogBuilder(this)
- .setTitle(resources.getString(R.string.jgit_error_dialog_title))
- .setMessage(ErrorMessages[error])
- .setPositiveButton(resources.getString(R.string.dialog_ok)) { _, _ ->
- finish()
- }.show()
+ MaterialAlertDialogBuilder(this).run {
+ setTitle(resources.getString(R.string.jgit_error_dialog_title))
+ setMessage(ErrorMessages[error])
+ setPositiveButton(resources.getString(R.string.dialog_ok)) { _, _ -> }
+ setOnDismissListener {
+ onPromptDone()
+ }
+ show()
+ }
+ } else {
+ onPromptDone()
}
}