diff options
| author | Fabian Henneke <FabianHenneke@users.noreply.github.com> | 2020-08-06 10:58:20 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-06 14:28:20 +0530 |
| commit | 3dace243e4b0fe1378e2d81c46fb70cb236e6ae5 (patch) | |
| tree | a52739e2532e54337adb04468ca66ddd0bd6764d /app/src/main/java/com/zeapo/pwdstore/git | |
| parent | 14c44bf584cb7d13ada46b264419efca923ed65c (diff) | |
| download | HardenedPass-3dace243e4b0fe1378e2d81c46fb70cb236e6ae5.tar.gz HardenedPass-3dace243e4b0fe1378e2d81c46fb70cb236e6ae5.zip | |
Refactor uses of applicationContext and startActivityForResult (#997)
* Refactor uses of applicationContext and startActivityForResult
This commit applies three types of refactoring:
1. Remove context argument from PasswordRepository companion functions
by relying on Application.instance.
2. Introduce a sharedPrefs extension function on Context that returns
the default SharedPreferences for the applicationContext.
3. Use OpenDocument() and OpenDocumentTree() contracts.
* Drop toPasswordItem argument
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/git')
4 files changed, 7 insertions, 9 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt index 706592fe..06f85d1b 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/BaseGitActivity.kt @@ -13,7 +13,6 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.edit import androidx.core.text.isDigitsOnly import androidx.lifecycle.lifecycleScope -import androidx.preference.PreferenceManager import com.github.ajalt.timberkt.Timber.tag import com.github.ajalt.timberkt.e import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -31,6 +30,7 @@ import com.zeapo.pwdstore.git.operation.SyncOperation import com.zeapo.pwdstore.utils.PasswordRepository import com.zeapo.pwdstore.utils.PreferenceKeys import com.zeapo.pwdstore.utils.getEncryptedPrefs +import com.zeapo.pwdstore.utils.sharedPrefs import java.io.File import java.net.URI import kotlinx.coroutines.launch @@ -61,7 +61,7 @@ abstract class BaseGitActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - settings = PreferenceManager.getDefaultSharedPreferences(this) + settings = sharedPrefs encryptedSettings = getEncryptedPrefs("git_operation") protocol = Protocol.fromString(settings.getString(PreferenceKeys.GIT_REMOTE_PROTOCOL, null)) connectionMode = ConnectionMode.fromString(settings.getString(PreferenceKeys.GIT_REMOTE_AUTH, null)) @@ -197,7 +197,7 @@ abstract class BaseGitActivity : AppCompatActivity() { return } - val localDir = requireNotNull(PasswordRepository.getRepositoryDirectory(this)) + val localDir = requireNotNull(PasswordRepository.getRepositoryDirectory()) val op = when (operation) { REQUEST_CLONE, GitOperation.GET_SSH_KEY_FROM_CLONE -> CloneOperation(localDir, url!!, this) REQUEST_PULL -> PullOperation(localDir, this) diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt index 35a3c648..e84c87e1 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitConfigActivity.kt @@ -34,7 +34,7 @@ class GitConfigActivity : BaseGitActivity() { else binding.gitUserName.setText(username) binding.gitUserEmail.setText(email) - val repo = PasswordRepository.getRepository(PasswordRepository.getRepositoryDirectory(this)) + val repo = PasswordRepository.getRepository(PasswordRepository.getRepositoryDirectory()) if (repo != null) { try { val objectId = repo.resolve(Constants.HEAD) diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt index 4830b2c8..3fe0314a 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/GitServerConfigActivity.kt @@ -113,7 +113,7 @@ class GitServerConfigActivity : BaseGitActivity() { binding.saveButton.setOnClickListener { if (isClone && PasswordRepository.getRepository(null) == null) - PasswordRepository.initialize(this) + PasswordRepository.initialize() when (val result = updateUrl()) { GitUpdateUrlResult.Ok -> { settings.edit { @@ -161,7 +161,7 @@ class GitServerConfigActivity : BaseGitActivity() { * Clones the repository, the directory exists, deletes it */ private fun cloneRepository() { - val localDir = requireNotNull(PasswordRepository.getRepositoryDirectory(this)) + val localDir = requireNotNull(PasswordRepository.getRepositoryDirectory()) val localDirFiles = localDir.listFiles() ?: emptyArray() // Warn if non-empty folder unless it's a just-initialized store that has just a .git folder if (localDir.exists() && localDirFiles.isNotEmpty() && diff --git a/app/src/main/java/com/zeapo/pwdstore/git/operation/GitOperation.kt b/app/src/main/java/com/zeapo/pwdstore/git/operation/GitOperation.kt index 45fefd64..591c121f 100644 --- a/app/src/main/java/com/zeapo/pwdstore/git/operation/GitOperation.kt +++ b/app/src/main/java/com/zeapo/pwdstore/git/operation/GitOperation.kt @@ -158,9 +158,7 @@ abstract class GitOperation(gitDir: File, internal val callingActivity: Fragment .edit { remove(PreferenceKeys.SSH_OPENKEYSTORE_KEYID) } } is SshjSessionFactory -> { - callingActivity.applicationContext - .getEncryptedPrefs("git_operation") - .edit { + callingActivity.getEncryptedPrefs("git_operation").edit { remove(PreferenceKeys.SSH_KEY_LOCAL_PASSPHRASE) remove(PreferenceKeys.HTTPS_PASSWORD) } |
