aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt
diff options
context:
space:
mode:
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()
}