diff options
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() } } |
