aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2020-12-10 22:47:18 +0530
committerGitHub <noreply@github.com>2020-12-10 22:47:18 +0530
commitce2e657108187a34416cfbfc0c5d2fc8bb9277f3 (patch)
tree850810300c35213d54f8acccb1cbe474002f6829 /app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
parentc02ad427be3652298f4a07a5f1a0d68e4ac44c45 (diff)
downloadHardenedPass-ce2e657108187a34416cfbfc0c5d2fc8bb9277f3.tar.gz
HardenedPass-ce2e657108187a34416cfbfc0c5d2fc8bb9277f3.zip
Better guidance for users to deal with host key changes (#1242)
* Provide actionable guidance for host key mismatches Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hide host key clear button after use Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt20
1 files changed, 19 insertions, 1 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt b/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
index 864cbf81..82af814b 100644
--- a/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
@@ -55,6 +55,7 @@ object GitSettings {
private val settings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.sharedPrefs }
private val encryptedSettings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.getEncryptedGitPrefs() }
private val proxySettings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.getEncryptedProxyPrefs() }
+ private val hostKeyPath by lazy(LazyThreadSafetyMode.NONE) { "${Application.instance.filesDir}/.host_key" }
var authMode
get() = AuthMode.fromString(settings.getString(PreferenceKeys.GIT_REMOTE_AUTH))
@@ -63,6 +64,7 @@ object GitSettings {
putString(PreferenceKeys.GIT_REMOTE_AUTH, value.pref)
}
}
+
var url
get() = settings.getString(PreferenceKeys.GIT_REMOTE_URL)
private set(value) {
@@ -78,8 +80,9 @@ object GitSettings {
// should be deleted/reset.
useMultiplexing = true
encryptedSettings.edit { remove(PreferenceKeys.HTTPS_PASSWORD) }
- File("${Application.instance.filesDir}/.host_key").delete()
+ clearSavedHostKey()
}
+
var authorName
get() = settings.getString(PreferenceKeys.GIT_CONFIG_AUTHOR_NAME) ?: ""
set(value) {
@@ -87,6 +90,7 @@ object GitSettings {
putString(PreferenceKeys.GIT_CONFIG_AUTHOR_NAME, value)
}
}
+
var authorEmail
get() = settings.getString(PreferenceKeys.GIT_CONFIG_AUTHOR_EMAIL) ?: ""
set(value) {
@@ -94,6 +98,7 @@ object GitSettings {
putString(PreferenceKeys.GIT_CONFIG_AUTHOR_EMAIL, value)
}
}
+
var branch
get() = settings.getString(PreferenceKeys.GIT_BRANCH_NAME) ?: DEFAULT_BRANCH
private set(value) {
@@ -101,6 +106,7 @@ object GitSettings {
putString(PreferenceKeys.GIT_BRANCH_NAME, value)
}
}
+
var useMultiplexing
get() = settings.getBoolean(PreferenceKeys.GIT_REMOTE_USE_MULTIPLEXING, true)
set(value) {
@@ -178,4 +184,16 @@ object GitSettings {
branch = newBranch
return UpdateConnectionSettingsResult.Valid
}
+
+ /**
+ * Deletes a previously saved SSH host key
+ */
+ fun clearSavedHostKey() {
+ File(hostKeyPath).delete()
+ }
+
+ /**
+ * Returns true if a host key was previously saved
+ */
+ fun hasSavedHostKey(): Boolean = File(hostKeyPath).exists()
}