aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt58
1 files changed, 12 insertions, 46 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt b/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt
index 1003167f..268698e7 100644
--- a/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/LaunchActivity.kt
@@ -4,34 +4,20 @@
*/
package com.zeapo.pwdstore
-import android.content.ComponentName
import android.content.Intent
import android.os.Bundle
import android.os.Handler
+import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.edit
-import androidx.core.view.isVisible
-import androidx.lifecycle.lifecycleScope
-import com.github.michaelbull.result.fold
import com.zeapo.pwdstore.crypto.DecryptActivity
-import com.zeapo.pwdstore.databinding.ActivityLaunchBinding
-import com.zeapo.pwdstore.git.BaseGitActivity
-import com.zeapo.pwdstore.git.config.AuthMode
-import com.zeapo.pwdstore.git.config.GitSettings
import com.zeapo.pwdstore.utils.BiometricAuthenticator
-import com.zeapo.pwdstore.utils.PasswordRepository
import com.zeapo.pwdstore.utils.PreferenceKeys
import com.zeapo.pwdstore.utils.sharedPrefs
-import com.zeapo.pwdstore.utils.viewBinding
-import kotlinx.coroutines.launch
-class LaunchActivity : BaseGitActivity() {
-
- private val binding by viewBinding(ActivityLaunchBinding::inflate)
+class LaunchActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setContentView(binding.root)
- supportActionBar?.hide()
val prefs = sharedPrefs
if (prefs.getBoolean(PreferenceKeys.BIOMETRIC_AUTH, false)) {
BiometricAuthenticator.authenticate(this) {
@@ -54,38 +40,18 @@ class LaunchActivity : BaseGitActivity() {
}
private fun startTargetActivity(noAuth: Boolean) {
- if (intent.action == ACTION_DECRYPT_PASS) {
- intent.component = ComponentName(this, DecryptActivity::class.java)
- startPasswordStoreActivity(intent, noAuth)
- } else {
- val intent = Intent(this, PasswordStore::class.java)
- val repo = PasswordRepository.initialize()
- // if repo is null, let PasswordStore handle it.
- if (repo != null &&
- !GitSettings.url.isNullOrEmpty() &&
- sharedPrefs.getBoolean(PreferenceKeys.SYNC_ON_LAUNCH, false)) {
- binding.progressBar.isVisible = true
- binding.sync.isVisible = true
- runGitOperation { startPasswordStoreActivity(intent, noAuth) }
- } else {
- startPasswordStoreActivity(intent, noAuth)
+ val intentToStart = if (intent.action == ACTION_DECRYPT_PASS)
+ Intent(this, DecryptActivity::class.java).apply {
+ putExtra("NAME", intent.getStringExtra("NAME"))
+ putExtra("FILE_PATH", intent.getStringExtra("FILE_PATH"))
+ putExtra("REPO_PATH", intent.getStringExtra("REPO_PATH"))
+ putExtra("LAST_CHANGED_TIMESTAMP", intent.getLongExtra("LAST_CHANGED_TIMESTAMP", 0L))
}
- }
- }
-
- private fun startPasswordStoreActivity(intent: Intent, noAuth: Boolean) {
- Handler().postDelayed({
- startActivity(intent)
- finish()
- }, if (noAuth) 500L else 0L)
- }
+ else
+ Intent(this, PasswordStore::class.java)
+ startActivity(intentToStart)
- private fun runGitOperation(onCompletion: () -> Unit) = lifecycleScope.launch {
- val gitOp = if (GitSettings.authMode == AuthMode.None) GitOp.PULL else GitOp.SYNC
- launchGitOperation(gitOp).fold(
- success = { onCompletion.invoke() },
- failure = { promptOnErrorHandler(it) { onCompletion.invoke() } },
- )
+ Handler().postDelayed({ finish() }, if (noAuth) 0L else 500L)
}
companion object {