diff options
Diffstat (limited to 'app')
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 +} |