summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt
index c78be39d7..3fe43de26 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt
@@ -3,10 +3,32 @@
package org.yuzu.yuzu_emu.features.settings.model
-class StringSetting(
- key: String,
- section: String,
- var value: String
-) : Setting(key, section) {
- override val valueAsString get() = value
+enum class StringSetting(
+ override val key: String,
+ override val section: String,
+ defaultValue: String
+) : AbstractStringSetting {
+ // No string settings currently exist
+ EMPTY_SETTING("", "", "");
+
+ override var string: String = defaultValue
+
+ override val valueAsString: String
+ get() = string
+
+ override val isRuntimeEditable: Boolean
+ get() {
+ for (setting in NOT_RUNTIME_EDITABLE) {
+ if (setting == this) {
+ return false
+ }
+ }
+ return true
+ }
+
+ companion object {
+ private val NOT_RUNTIME_EDITABLE = emptyList<StringSetting>()
+
+ fun from(key: String): StringSetting? = StringSetting.values().firstOrNull { it.key == key }
+ }
}