diff options
| author | Fabian Henneke <FabianHenneke@users.noreply.github.com> | 2020-09-07 10:10:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-07 13:40:59 +0530 |
| commit | 2687763bdaa36709667d38919b7cba1a7e26206f (patch) | |
| tree | dd91c387b59c107e1521b426f3e7852b26772866 /app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt | |
| parent | 2c0ecdfb67aeb8d47702159e1c61659679bc9408 (diff) | |
| download | HardenedPass-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.kt | 19 |
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() } } |
