summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-03-15 03:33:20 -0400
committerCharles Lombardo <clombardo169@gmail.com>2023-03-15 17:35:48 -0400
commit3b32ff6980d371d9aa6ba516fdbb5b1a87563416 (patch)
treed548fa5ffa2f17b4a9e3c9bf358a1a1112d4e270 /Source/Android/app/src/main/java
parent92f39a98d641652a24348cef0b296e0182ad2bcd (diff)
Android: Convert SettingsFile to Kotlin
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java131
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.kt107
2 files changed, 107 insertions, 131 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
deleted file mode 100644
index acad8c2d19..0000000000
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
+++ /dev/null
@@ -1,131 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-package org.dolphinemu.dolphinemu.features.settings.utils;
-
-import androidx.annotation.NonNull;
-
-import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivityView;
-import org.dolphinemu.dolphinemu.utils.BiMap;
-import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
-import org.dolphinemu.dolphinemu.utils.IniFile;
-import org.dolphinemu.dolphinemu.utils.Log;
-
-import java.io.File;
-
-/**
- * Contains static methods for interacting with .ini files in which settings are stored.
- */
-public final class SettingsFile
-{
- public static final String KEY_ISO_PATH_BASE = "ISOPath";
- public static final String KEY_ISO_PATHS = "ISOPaths";
-
- private static BiMap<String, String> sectionsMap = new BiMap<>();
-
- static
- {
- sectionsMap.add("Hardware", "Video_Hardware");
- sectionsMap.add("Settings", "Video_Settings");
- sectionsMap.add("Enhancements", "Video_Enhancements");
- sectionsMap.add("Stereoscopy", "Video_Stereoscopy");
- sectionsMap.add("Hacks", "Video_Hacks");
- sectionsMap.add("GameSpecific", "Video");
- }
-
- private SettingsFile()
- {
- }
-
- /**
- * Reads a given .ini file from disk and returns it.
- * If unsuccessful, outputs an error telling why it failed.
- *
- * @param file The ini file to load the settings from
- * @param ini The object to load into
- * @param view The current view.
- */
- static void readFile(final File file, IniFile ini, SettingsActivityView view)
- {
- if (!ini.load(file, true))
- {
- Log.error("[SettingsFile] Error reading from: " + file.getAbsolutePath());
- if (view != null)
- view.onSettingsFileNotFound();
- }
- }
-
- public static void readFile(final String fileName, IniFile ini, SettingsActivityView view)
- {
- readFile(getSettingsFile(fileName), ini, view);
- }
-
- /**
- * Reads a given .ini file from disk and returns it.
- * If unsuccessful, outputs an error telling why it failed.
- *
- * @param gameId the id of the game to load settings for.
- * @param ini The object to load into
- * @param view The current view.
- */
- public static void readCustomGameSettings(final String gameId, IniFile ini,
- SettingsActivityView view)
- {
- readFile(getCustomGameSettingsFile(gameId), ini, view);
- }
-
- /**
- * Saves a given .ini file on disk.
- * If unsuccessful, outputs an error telling why it failed.
- *
- * @param fileName The target filename without a path or extension.
- * @param ini The IniFile we want to serialize.
- * @param view The current view.
- */
- public static void saveFile(final String fileName, IniFile ini, SettingsActivityView view)
- {
- if (!ini.save(getSettingsFile(fileName)))
- {
- Log.error("[SettingsFile] Error saving to: " + fileName + ".ini");
- if (view != null)
- view.showToastMessage("Error saving " + fileName + ".ini");
- }
- }
-
- public static void saveCustomGameSettings(final String gameId, IniFile ini)
- {
- ini.save(getCustomGameSettingsFile(gameId));
- }
-
- public static String mapSectionNameFromIni(String generalSectionName)
- {
- if (sectionsMap.getForward(generalSectionName) != null)
- {
- return sectionsMap.getForward(generalSectionName);
- }
-
- return generalSectionName;
- }
-
- public static String mapSectionNameToIni(String generalSectionName)
- {
- if (sectionsMap.getBackward(generalSectionName) != null)
- {
- return sectionsMap.getBackward(generalSectionName);
- }
-
- return generalSectionName;
- }
-
- @NonNull
- public static File getSettingsFile(String fileName)
- {
- return new File(
- DirectoryInitialization.getUserDirectory() + "/Config/" + fileName + ".ini");
- }
-
- public static File getCustomGameSettingsFile(String gameId)
- {
- return new File(
- DirectoryInitialization.getUserDirectory() + "/GameSettings/" + gameId + ".ini");
- }
-}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.kt
new file mode 100644
index 0000000000..827f04cbf3
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.kt
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.dolphinemu.dolphinemu.features.settings.utils
+
+import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivityView
+import org.dolphinemu.dolphinemu.utils.BiMap
+import org.dolphinemu.dolphinemu.utils.DirectoryInitialization
+import org.dolphinemu.dolphinemu.utils.IniFile
+import org.dolphinemu.dolphinemu.utils.Log
+import java.io.File
+
+/**
+ * Contains static methods for interacting with .ini files in which settings are stored.
+ */
+object SettingsFile {
+ const val KEY_ISO_PATH_BASE = "ISOPath"
+ const val KEY_ISO_PATHS = "ISOPaths"
+ private val sectionsMap = BiMap<String?, String?>()
+
+ init {
+ sectionsMap.apply {
+ add("Hardware", "Video_Hardware")
+ add("Settings", "Video_Settings")
+ add("Enhancements", "Video_Enhancements")
+ add("Stereoscopy", "Video_Stereoscopy")
+ add("Hacks", "Video_Hacks")
+ add("GameSpecific", "Video")
+ }
+ }
+
+ /**
+ * Reads a given .ini file from disk and returns it.
+ * If unsuccessful, outputs an error telling why it failed.
+ *
+ * @param file The ini file to load the settings from
+ * @param ini The object to load into
+ * @param view The current view.
+ */
+ private fun readFile(file: File, ini: IniFile, view: SettingsActivityView) {
+ if (!ini.load(file, true)) {
+ Log.error("[SettingsFile] Error reading from: " + file.absolutePath)
+ view.onSettingsFileNotFound()
+ }
+ }
+
+ fun readFile(fileName: String, ini: IniFile, view: SettingsActivityView) {
+ readFile(getSettingsFile(fileName), ini, view)
+ }
+
+ /**
+ * Reads a given .ini file from disk and returns it.
+ * If unsuccessful, outputs an error telling why it failed.
+ *
+ * @param gameId the id of the game to load settings for.
+ * @param ini The object to load into
+ * @param view The current view.
+ */
+ fun readCustomGameSettings(
+ gameId: String,
+ ini: IniFile,
+ view: SettingsActivityView
+ ) {
+ readFile(getCustomGameSettingsFile(gameId), ini, view)
+ }
+
+ /**
+ * Saves a given .ini file on disk.
+ * If unsuccessful, outputs an error telling why it failed.
+ *
+ * @param fileName The target filename without a path or extension.
+ * @param ini The IniFile we want to serialize.
+ * @param view The current view.
+ */
+ fun saveFile(fileName: String, ini: IniFile, view: SettingsActivityView) {
+ if (!ini.save(getSettingsFile(fileName))) {
+ Log.error("[SettingsFile] Error saving to: $fileName.ini")
+ view.showToastMessage("Error saving $fileName.ini")
+ }
+ }
+
+ fun saveCustomGameSettings(gameId: String, ini: IniFile) {
+ ini.save(getCustomGameSettingsFile(gameId))
+ }
+
+ fun mapSectionNameFromIni(generalSectionName: String): String? {
+ return if (sectionsMap.getForward(generalSectionName) != null) {
+ sectionsMap.getForward(generalSectionName)
+ } else generalSectionName
+ }
+
+ fun mapSectionNameToIni(generalSectionName: String): String? {
+ return if (sectionsMap.getBackward(generalSectionName) != null) {
+ sectionsMap.getBackward(generalSectionName)
+ } else generalSectionName
+ }
+
+ @JvmStatic
+ fun getSettingsFile(fileName: String): File {
+ return File(DirectoryInitialization.getUserDirectory() + "/Config/" + fileName + ".ini")
+ }
+
+ private fun getCustomGameSettingsFile(gameId: String): File {
+ return File(
+ DirectoryInitialization.getUserDirectory() + "/GameSettings/" + gameId + ".ini"
+ )
+ }
+}