diff options
| author | Harsh Shandilya <msfjarvis@gmail.com> | 2020-10-05 08:29:44 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-05 08:29:44 +0530 |
| commit | 3ddd06679f1e666716391450adaa687db33332c7 (patch) | |
| tree | 23c766dda568b513b3940200c9f7bcbc214591fa /app/src/main/java/com/zeapo/pwdstore/git | |
| parent | 8a4316067396e6a0a5490e727197cf843d3f4ec6 (diff) | |
| download | HardenedPass-3ddd06679f1e666716391450adaa687db33332c7.tar.gz HardenedPass-3ddd06679f1e666716391450adaa687db33332c7.zip | |
Resolve lock contention from lazy delegates (#1135)
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git')
3 files changed, 5 insertions, 5 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/config/GitSettings.kt b/app/src/main/java/com/zeapo/pwdstore/git/config/GitSettings.kt index e43deaf4..f928590d 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/config/GitSettings.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/config/GitSettings.kt @@ -52,8 +52,8 @@ object GitSettings { private const val DEFAULT_BRANCH = "master" - private val settings by lazy { Application.instance.sharedPrefs } - private val encryptedSettings by lazy { Application.instance.getEncryptedGitPrefs() } + private val settings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.sharedPrefs } + private val encryptedSettings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.getEncryptedGitPrefs() } var authMode get() = AuthMode.fromString(settings.getString(PreferenceKeys.GIT_REMOTE_AUTH)) diff --git a/app/src/main/java/com/zeapo/pwdstore/git/log/GitLogModel.kt b/app/src/main/java/com/zeapo/pwdstore/git/log/GitLogModel.kt index ccd2f88a..15b9f64d 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/log/GitLogModel.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/log/GitLogModel.kt @@ -41,7 +41,7 @@ class GitLogModel { // This is because the commit graph is walked from HEAD to the last commit to obtain. // Additionally, tests with 1000 commits in the log have not produced a significant delay in the // user experience. - private val cache: MutableList<GitCommit> by lazy { + private val cache: MutableList<GitCommit> by lazy(LazyThreadSafetyMode.NONE) { commits().map { GitCommit(it.hash, it.shortMessage, it.authorIdent.name, it.time) }.toMutableList() diff --git a/app/src/main/java/com/zeapo/pwdstore/git/sshj/SshKey.kt b/app/src/main/java/com/zeapo/pwdstore/git/sshj/SshKey.kt index 73072f7d..5e6cfb1b 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/sshj/SshKey.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/sshj/SshKey.kt @@ -50,7 +50,7 @@ private const val PROVIDER_ANDROID_KEY_STORE = "AndroidKeyStore" private const val KEYSTORE_ALIAS = "sshkey" private const val ANDROIDX_SECURITY_KEYSET_PREF_NAME = "androidx_sshkey_keyset_prefs" -private val androidKeystore: KeyStore by lazy { +private val androidKeystore: KeyStore by lazy(LazyThreadSafetyMode.NONE) { KeyStore.getInstance(PROVIDER_ANDROID_KEY_STORE).apply { load(null) } } @@ -119,7 +119,7 @@ object SshKey { putString(PreferenceKeys.GIT_REMOTE_KEY_TYPE, value?.value) } - private val isStrongBoxSupported by lazy { + private val isStrongBoxSupported by lazy(LazyThreadSafetyMode.NONE) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) context.packageManager.hasSystemFeature(PackageManager.FEATURE_STRONGBOX_KEYSTORE) else |
