aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorAditya Wasan <adityawasan55@gmail.com>2022-09-07 17:49:08 -0400
committerGitHub <noreply@github.com>2022-09-07 21:49:08 +0000
commit244fd92f8b59aeca608253e87bb7a7076ca4a960 (patch)
tree6861ca2fcc466983600cd296ae6096eca70e1e87 /app/src/main
parente5f02a3aca3d85035b80047021a4e0ee0691d3fc (diff)
Use `GENERAL_SHOW_TIME` for decryption screen timeout (#2107)
* feat(app): use `GENERAL_SHOW_TIME` for decryption screen as well Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * feat: update timeout to 60 seconds Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * refactor(app): use constant instead of using a magic number Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add changelog entry Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/app/passwordstore/ui/crypto/BasePgpActivity.kt5
-rw-r--r--app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt15
-rw-r--r--app/src/main/java/app/passwordstore/util/settings/Constants.kt5
3 files changed, 20 insertions, 5 deletions
diff --git a/app/src/main/java/app/passwordstore/ui/crypto/BasePgpActivity.kt b/app/src/main/java/app/passwordstore/ui/crypto/BasePgpActivity.kt
index c769e334..f2778e2d 100644
--- a/app/src/main/java/app/passwordstore/ui/crypto/BasePgpActivity.kt
+++ b/app/src/main/java/app/passwordstore/ui/crypto/BasePgpActivity.kt
@@ -22,6 +22,7 @@ import app.passwordstore.util.extensions.getString
import app.passwordstore.util.extensions.snackbar
import app.passwordstore.util.extensions.unsafeLazy
import app.passwordstore.util.services.ClipboardService
+import app.passwordstore.util.settings.Constants
import app.passwordstore.util.settings.PreferenceKeys
import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
@@ -87,7 +88,9 @@ open class BasePgpActivity : AppCompatActivity() {
fun copyPasswordToClipboard(password: String?) {
copyTextToClipboard(password)
- val clearAfter = settings.getString(PreferenceKeys.GENERAL_SHOW_TIME)?.toIntOrNull() ?: 45
+ val clearAfter =
+ settings.getString(PreferenceKeys.GENERAL_SHOW_TIME)?.toIntOrNull()
+ ?: Constants.DEFAULT_DECRYPTION_TIMEOUT
if (clearAfter != 0) {
val service =
diff --git a/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt b/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
index fa37f501..dfe9f8bc 100644
--- a/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
+++ b/app/src/main/java/app/passwordstore/ui/crypto/DecryptActivity.kt
@@ -16,9 +16,11 @@ import app.passwordstore.data.passfile.PasswordEntry
import app.passwordstore.data.password.FieldItem
import app.passwordstore.databinding.DecryptLayoutBinding
import app.passwordstore.ui.adapters.FieldItemAdapter
+import app.passwordstore.util.extensions.getString
import app.passwordstore.util.extensions.isErr
import app.passwordstore.util.extensions.unsafeLazy
import app.passwordstore.util.extensions.viewBinding
+import app.passwordstore.util.settings.Constants
import app.passwordstore.util.settings.PreferenceKeys
import com.github.michaelbull.result.runCatching
import com.github.michaelbull.result.unwrapError
@@ -91,13 +93,18 @@ class DecryptActivity : BasePgpActivity() {
}
/**
- * Automatically finishes the activity 60 seconds after decryption succeeded to prevent
- * information leaks from stale activities.
+ * Automatically finishes the activity after [PreferenceKeys.GENERAL_SHOW_TIME] seconds decryption
+ * succeeded to prevent information leaks from stale activities.
*/
private fun startAutoDismissTimer() {
lifecycleScope.launch {
- delay(60.seconds)
- finish()
+ val timeout =
+ settings.getString(PreferenceKeys.GENERAL_SHOW_TIME)?.toIntOrNull()
+ ?: Constants.DEFAULT_DECRYPTION_TIMEOUT
+ if (timeout != 0) {
+ delay(timeout.seconds)
+ finish()
+ }
}
}
diff --git a/app/src/main/java/app/passwordstore/util/settings/Constants.kt b/app/src/main/java/app/passwordstore/util/settings/Constants.kt
new file mode 100644
index 00000000..d843500f
--- /dev/null
+++ b/app/src/main/java/app/passwordstore/util/settings/Constants.kt
@@ -0,0 +1,5 @@
+package app.passwordstore.util.settings
+
+object Constants {
+ const val DEFAULT_DECRYPTION_TIMEOUT = 60
+}