aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-09-14 22:37:22 +0530
committerGitHub <noreply@github.com>2020-09-14 22:37:22 +0530
commita34f749e9ac1d6112a42b0f4ded3ae801d8c583c (patch)
tree0bab8a806c64af04fe7422dcb6f906515278cdb7 /app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
parenteef809760c7359a34b414af45165b157813e78af (diff)
downloadHardenedPass-a34f749e9ac1d6112a42b0f4ded3ae801d8c583c.tar.gz
HardenedPass-a34f749e9ac1d6112a42b0f4ded3ae801d8c583c.zip
Add tentative workaround for dialog crashes and refactor Git-related code (#1100)
* Ensure we're creating dialogs on the main thread Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unused operation type Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Refactor launchGitOperation to use an enum Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt18
1 files changed, 14 insertions, 4 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
index 4bbc5965..92381384 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt
@@ -4,6 +4,8 @@
*/
package com.zeapo.pwdstore.git
+import android.content.Context
+import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.view.MenuItem
@@ -42,7 +44,7 @@ class GitServerConfigActivity : BaseGitActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- val isClone = intent?.extras?.getInt(REQUEST_ARG_OP) ?: -1 == REQUEST_CLONE
+ val isClone = intent?.extras?.getBoolean("cloning") ?: false
if (isClone) {
binding.saveButton.text = getString(R.string.clone_button)
}
@@ -151,7 +153,7 @@ class GitServerConfigActivity : BaseGitActivity() {
localDir.deleteRecursively()
}
snackbar.dismiss()
- launchGitOperation(REQUEST_CLONE).fold(
+ launchGitOperation(GitOp.CLONE).fold(
success = {
setResult(RESULT_OK)
finish()
@@ -185,14 +187,22 @@ class GitServerConfigActivity : BaseGitActivity() {
MaterialAlertDialogBuilder(this).setMessage(e.message).show()
}
lifecycleScope.launch {
- launchGitOperation(REQUEST_CLONE).fold(
+ launchGitOperation(GitOp.CLONE).fold(
success = {
setResult(RESULT_OK)
finish()
},
- failure = ::promptOnErrorHandler,
+ failure = { promptOnErrorHandler(it) },
)
}
}
}
+
+ companion object {
+ fun createCloneIntent(context: Context): Intent {
+ return Intent(context, GitServerConfigActivity::class.java).apply {
+ putExtra("cloning", true)
+ }
+ }
+ }
}