summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-03-15 03:26:02 -0400
committerCharles Lombardo <clombardo169@gmail.com>2023-03-15 17:35:34 -0400
commit1553477c095c9a96015bc04b51dd110d39f28345 (patch)
treeb59210c658e5bc0f0822bc7d8af4a2d9277985b5 /Source/Android/app/src/main/java/org
parent2c560e05a82410be8d017167baee9328746afb81 (diff)
Android: Convert StringSetting to Kotlin
Diffstat (limited to 'Source/Android/app/src/main/java/org')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java113
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt104
2 files changed, 104 insertions, 113 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java
deleted file mode 100644
index c72f26aa0f..0000000000
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-package org.dolphinemu.dolphinemu.features.settings.model;
-
-import androidx.annotation.NonNull;
-
-import org.dolphinemu.dolphinemu.NativeLibrary;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-public enum StringSetting implements AbstractStringSetting
-{
- // These entries have the same names and order as in C++, just for consistency.
-
- MAIN_DEFAULT_ISO(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "DefaultISO", ""),
-
- MAIN_BBA_MAC(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "BBA_MAC", ""),
- MAIN_BBA_XLINK_IP(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "BBA_XLINK_IP", ""),
-
- // Schthack PSO Server - https://schtserv.com/
- MAIN_BBA_BUILTIN_DNS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "BBA_BUILTIN_DNS",
- "149.56.167.128"),
-
- MAIN_CUSTOM_RTC_VALUE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "CustomRTCValue",
- "0x386d4380"),
-
- MAIN_GFX_BACKEND(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "GFXBackend",
- NativeLibrary.GetDefaultGraphicsBackendName()),
-
- MAIN_DUMP_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "DumpPath", ""),
- MAIN_LOAD_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "LoadPath", ""),
- MAIN_RESOURCEPACK_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "ResourcePackPath",
- ""),
- MAIN_FS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "NANDRootPath", ""),
- MAIN_WII_SD_CARD_IMAGE_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "WiiSDCardPath",
- ""),
- MAIN_WII_SD_CARD_SYNC_FOLDER_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL,
- "WiiSDCardSyncFolder", ""),
- MAIN_WFS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "WFSPath", ""),
-
- GFX_ENHANCE_POST_SHADER(Settings.FILE_GFX, Settings.SECTION_GFX_ENHANCEMENTS,
- "PostProcessingShader", "");
-
- private static final StringSetting[] NOT_RUNTIME_EDITABLE_ARRAY = new StringSetting[]{
- MAIN_CUSTOM_RTC_VALUE,
- MAIN_GFX_BACKEND,
- };
-
- private static final Set<StringSetting> NOT_RUNTIME_EDITABLE =
- new HashSet<>(Arrays.asList(NOT_RUNTIME_EDITABLE_ARRAY));
-
- private final String mFile;
- private final String mSection;
- private final String mKey;
- private final String mDefaultValue;
-
- StringSetting(String file, String section, String key, String defaultValue)
- {
- mFile = file;
- mSection = section;
- mKey = key;
- mDefaultValue = defaultValue;
- }
-
- @Override
- public boolean isOverridden()
- {
- return NativeConfig.isOverridden(mFile, mSection, mKey);
- }
-
- @Override
- public boolean isRuntimeEditable()
- {
- for (StringSetting setting : NOT_RUNTIME_EDITABLE)
- {
- if (setting == this)
- return false;
- }
-
- return NativeConfig.isSettingSaveable(mFile, mSection, mKey);
- }
-
- @Override
- public boolean delete(@NonNull Settings settings)
- {
- return NativeConfig.deleteKey(settings.getWriteLayer(), mFile, mSection, mKey);
- }
-
- @NonNull @Override
- public String getString()
- {
- if (!NativeConfig.isSettingSaveable(mFile, mSection, mKey))
- {
- throw new UnsupportedOperationException(
- "Unsupported setting: " + mFile + ", " + mSection + ", " + mKey);
- }
-
- return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
- }
-
- @Override
- public void setString(@NonNull Settings settings, @NonNull String newValue)
- {
- NativeConfig.setString(settings.getWriteLayer(), mFile, mSection, mKey, newValue);
- }
-
- public void setString(int layer, String newValue)
- {
- NativeConfig.setString(layer, mFile, mSection, mKey, newValue);
- }
-}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt
new file mode 100644
index 0000000000..bb479267c9
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.kt
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.dolphinemu.dolphinemu.features.settings.model
+
+import org.dolphinemu.dolphinemu.NativeLibrary
+import java.util.*
+
+enum class StringSetting(
+ private val file: String,
+ private val section: String,
+ private val key: String,
+ private val defaultValue: String
+) : AbstractStringSetting {
+ // These entries have the same names and order as in C++, just for consistency.
+ MAIN_DEFAULT_ISO(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "DefaultISO", ""),
+ MAIN_BBA_MAC(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "BBA_MAC", ""),
+ MAIN_BBA_XLINK_IP(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "BBA_XLINK_IP", ""),
+
+ // Schthack PSO Server - https://schtserv.com/
+ MAIN_BBA_BUILTIN_DNS(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_CORE,
+ "BBA_BUILTIN_DNS",
+ "149.56.167.128"
+ ),
+ MAIN_CUSTOM_RTC_VALUE(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_CORE,
+ "CustomRTCValue",
+ "0x386d4380"
+ ),
+ MAIN_GFX_BACKEND(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_CORE,
+ "GFXBackend",
+ NativeLibrary.GetDefaultGraphicsBackendName()
+ ),
+ MAIN_DUMP_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "DumpPath", ""),
+ MAIN_LOAD_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "LoadPath", ""),
+ MAIN_RESOURCEPACK_PATH(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_GENERAL,
+ "ResourcePackPath",
+ ""
+ ),
+ MAIN_FS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "NANDRootPath", ""),
+ MAIN_WII_SD_CARD_IMAGE_PATH(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_GENERAL,
+ "WiiSDCardPath",
+ ""
+ ),
+ MAIN_WII_SD_CARD_SYNC_FOLDER_PATH(
+ Settings.FILE_DOLPHIN,
+ Settings.SECTION_INI_GENERAL,
+ "WiiSDCardSyncFolder",
+ ""
+ ),
+ MAIN_WFS_PATH(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL, "WFSPath", ""),
+ GFX_ENHANCE_POST_SHADER(
+ Settings.FILE_GFX,
+ Settings.SECTION_GFX_ENHANCEMENTS,
+ "PostProcessingShader",
+ ""
+ );
+
+ override val isOverridden: Boolean
+ get() = NativeConfig.isOverridden(file, section, key)
+
+ override val isRuntimeEditable: Boolean
+ get() {
+ for (setting in NOT_RUNTIME_EDITABLE) {
+ if (setting == this) return false
+ }
+ return NativeConfig.isSettingSaveable(file, section, key)
+ }
+
+ override fun delete(settings: Settings): Boolean {
+ return NativeConfig.deleteKey(settings.writeLayer, file, section, key)
+ }
+
+ override val string: String
+ get() = if (!NativeConfig.isSettingSaveable(file, section, key)) {
+ throw UnsupportedOperationException("Unsupported setting: $file, $section, $key")
+ } else NativeConfig.getString(NativeConfig.LAYER_ACTIVE, file, section, key, defaultValue)
+
+ override fun setString(settings: Settings, newValue: String) {
+ NativeConfig.setString(settings.writeLayer, file, section, key, newValue)
+ }
+
+ fun setString(layer: Int, newValue: String?) {
+ NativeConfig.setString(layer, file, section, key, newValue)
+ }
+
+ companion object {
+ private val NOT_RUNTIME_EDITABLE_ARRAY = arrayOf(
+ MAIN_CUSTOM_RTC_VALUE,
+ MAIN_GFX_BACKEND
+ )
+
+ private val NOT_RUNTIME_EDITABLE: Set<StringSetting> =
+ HashSet(listOf(*NOT_RUNTIME_EDITABLE_ARRAY))
+ }
+}