diff options
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util/git')
4 files changed, 9 insertions, 5 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/GitCommandExecutor.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/GitCommandExecutor.kt index 54e1e2e5..115c2f9f 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/git/GitCommandExecutor.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/git/GitCommandExecutor.kt @@ -16,6 +16,7 @@ import dagger.hilt.android.EntryPointAccessors import dagger.hilt.components.SingletonComponent import dev.msfjarvis.aps.R import dev.msfjarvis.aps.util.extensions.snackbar +import dev.msfjarvis.aps.util.extensions.unsafeLazy import dev.msfjarvis.aps.util.git.GitException.PullException import dev.msfjarvis.aps.util.git.GitException.PushException import dev.msfjarvis.aps.util.git.operation.GitOperation @@ -34,7 +35,7 @@ class GitCommandExecutor( private val operation: GitOperation, ) { - private val hiltEntryPoint by lazy(LazyThreadSafetyMode.NONE) { + private val hiltEntryPoint by unsafeLazy { EntryPointAccessors.fromApplication( activity.applicationContext, GitCommandExecutorEntryPoint::class.java diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/GitLogModel.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/GitLogModel.kt index bfef2571..0fa21271 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/git/GitLogModel.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/git/GitLogModel.kt @@ -11,6 +11,7 @@ import com.github.michaelbull.result.runCatching import dev.msfjarvis.aps.data.repo.PasswordRepository import dev.msfjarvis.aps.util.extensions.hash import dev.msfjarvis.aps.util.extensions.time +import dev.msfjarvis.aps.util.extensions.unsafeLazy import org.eclipse.jgit.api.Git import org.eclipse.jgit.revwalk.RevCommit @@ -39,7 +40,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(LazyThreadSafetyMode.NONE) { + private val cache: MutableList<GitCommit> by unsafeLazy { commits() .map { GitCommit(it.hash, it.shortMessage, it.authorIdent.name, it.time) } .toMutableList() diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/BreakOutOfDetached.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/BreakOutOfDetached.kt index fd0aedf7..6ea9b8bb 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/git/operation/BreakOutOfDetached.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/git/operation/BreakOutOfDetached.kt @@ -6,6 +6,7 @@ package dev.msfjarvis.aps.util.git.operation import com.google.android.material.dialog.MaterialAlertDialogBuilder import dev.msfjarvis.aps.R +import dev.msfjarvis.aps.util.extensions.unsafeLazy import dev.msfjarvis.aps.util.git.sshj.ContinuationContainerActivity import org.eclipse.jgit.api.RebaseCommand import org.eclipse.jgit.api.ResetCommand @@ -28,7 +29,7 @@ class BreakOutOfDetached(callingActivity: ContinuationContainerActivity) : git.checkout().setName(remoteBranch), ) - override val commands by lazy(LazyThreadSafetyMode.NONE) { + override val commands by unsafeLazy { if (merging) { // We need to run some non-command operations first repository.writeMergeCommitMsg(null) diff --git a/app/src/main/java/dev/msfjarvis/aps/util/git/sshj/SshKey.kt b/app/src/main/java/dev/msfjarvis/aps/util/git/sshj/SshKey.kt index 3d23658e..66617a18 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/git/sshj/SshKey.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/git/sshj/SshKey.kt @@ -25,6 +25,7 @@ import dev.msfjarvis.aps.R import dev.msfjarvis.aps.util.extensions.getEncryptedGitPrefs import dev.msfjarvis.aps.util.extensions.getString import dev.msfjarvis.aps.util.extensions.sharedPrefs +import dev.msfjarvis.aps.util.extensions.unsafeLazy import dev.msfjarvis.aps.util.settings.PreferenceKeys import java.io.File import java.io.IOException @@ -50,7 +51,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(LazyThreadSafetyMode.NONE) { +private val androidKeystore: KeyStore by unsafeLazy { KeyStore.getInstance(PROVIDER_ANDROID_KEY_STORE).apply { load(null) } } @@ -118,7 +119,7 @@ object SshKey { set(value) = context.sharedPrefs.edit { putString(PreferenceKeys.GIT_REMOTE_KEY_TYPE, value?.value) } - private val isStrongBoxSupported by lazy(LazyThreadSafetyMode.NONE) { + private val isStrongBoxSupported by unsafeLazy { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) context.packageManager.hasSystemFeature(PackageManager.FEATURE_STRONGBOX_KEYSTORE) else false |
