|
|
@@ -3,15 +3,8 @@
|
|
|
|
|
|
package org.yuzu.yuzu_emu.features.settings.utils
|
|
|
|
|
|
-import android.widget.Toast
|
|
|
import java.io.*
|
|
|
-import org.ini4j.Wini
|
|
|
-import org.yuzu.yuzu_emu.R
|
|
|
-import org.yuzu.yuzu_emu.YuzuApplication
|
|
|
-import org.yuzu.yuzu_emu.features.settings.model.*
|
|
|
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
|
|
-import org.yuzu.yuzu_emu.utils.Log
|
|
|
-import org.yuzu.yuzu_emu.utils.NativeConfig
|
|
|
|
|
|
/**
|
|
|
* Contains static methods for interacting with .ini files in which settings are stored.
|
|
|
@@ -19,41 +12,6 @@ import org.yuzu.yuzu_emu.utils.NativeConfig
|
|
|
object SettingsFile {
|
|
|
const val FILE_NAME_CONFIG = "config"
|
|
|
|
|
|
- /**
|
|
|
- * Saves a Settings HashMap to 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.
|
|
|
- */
|
|
|
- fun saveFile(fileName: String) {
|
|
|
- val ini = getSettingsFile(fileName)
|
|
|
- try {
|
|
|
- val wini = Wini(ini)
|
|
|
- for (specificCategory in Settings.Category.values()) {
|
|
|
- val categoryHeader = NativeConfig.getConfigHeader(specificCategory.ordinal)
|
|
|
- for (setting in Settings.settingsList) {
|
|
|
- if (setting.key!!.isEmpty()) continue
|
|
|
-
|
|
|
- val settingCategoryHeader =
|
|
|
- NativeConfig.getConfigHeader(setting.category.ordinal)
|
|
|
- val iniSetting: String? = wini.get(categoryHeader, setting.key)
|
|
|
- if (iniSetting != null || settingCategoryHeader == categoryHeader) {
|
|
|
- wini.put(settingCategoryHeader, setting.key, setting.valueAsString)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- wini.store()
|
|
|
- } catch (e: IOException) {
|
|
|
- Log.error("[SettingsFile] File not found: " + fileName + ".ini: " + e.message)
|
|
|
- val context = YuzuApplication.appContext
|
|
|
- Toast.makeText(
|
|
|
- context,
|
|
|
- context.getString(R.string.error_saving, fileName, e.message),
|
|
|
- Toast.LENGTH_SHORT
|
|
|
- ).show()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
fun getSettingsFile(fileName: String): File =
|
|
|
File(DirectoryInitialization.userDirectory + "/config/" + fileName + ".ini")
|
|
|
}
|