mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-11-20 16:32:29 +00:00
Android: Save settings instantly after edits
This commit is contained in:
parent
b920182c97
commit
82c86221d6
@ -222,7 +222,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
settings.saveSettings(null)
|
||||
settings.saveSettings()
|
||||
}
|
||||
|
||||
fun onTitleChanged() {
|
||||
|
||||
@ -93,7 +93,7 @@ public class GamePropertiesDialog extends DialogFragment
|
||||
{
|
||||
settings.loadSettings();
|
||||
StringSetting.MAIN_DEFAULT_ISO.setString(settings, path);
|
||||
settings.saveSettings(getContext());
|
||||
settings.saveSettings();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -2,11 +2,8 @@
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.settings.model
|
||||
|
||||
import android.content.Context
|
||||
import android.text.TextUtils
|
||||
import android.widget.Toast
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary
|
||||
import org.dolphinemu.dolphinemu.R
|
||||
import org.dolphinemu.dolphinemu.features.input.model.MappingCommon
|
||||
import java.io.Closeable
|
||||
|
||||
@ -52,14 +49,8 @@ class Settings : Closeable {
|
||||
loadSettings(isWii)
|
||||
}
|
||||
|
||||
fun saveSettings(context: Context?) {
|
||||
fun saveSettings() {
|
||||
if (!isGameSpecific) {
|
||||
if (context != null) Toast.makeText(
|
||||
context,
|
||||
R.string.settings_saved,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
|
||||
MappingCommon.save()
|
||||
|
||||
NativeConfig.save(NativeConfig.LAYER_BASE)
|
||||
@ -67,13 +58,6 @@ class Settings : Closeable {
|
||||
NativeLibrary.ReloadLoggerConfig()
|
||||
NativeLibrary.UpdateGCAdapterScanThread()
|
||||
} else {
|
||||
// custom game settings
|
||||
if (context != null) {
|
||||
Toast.makeText(
|
||||
context, context.getString(R.string.settings_saved_game_specific, gameId),
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
NativeConfig.save(NativeConfig.LAYER_LOCAL_GAME)
|
||||
}
|
||||
}
|
||||
|
||||
@ -98,7 +98,6 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
// Critical: If super method is not called, rotations will be busted.
|
||||
super.onSaveInstanceState(outState)
|
||||
presenter!!.saveState(outState)
|
||||
outState.putBoolean(KEY_MAPPING_ALL_DEVICES, isMappingAllDevices)
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ class SettingsActivityPresenter(
|
||||
private val activityView: SettingsActivityView,
|
||||
var settings: Settings?
|
||||
) {
|
||||
private var shouldSave = false
|
||||
private var menuTag: MenuTag? = null
|
||||
private var gameId: String? = null
|
||||
private var revision = 0
|
||||
@ -33,7 +32,6 @@ class SettingsActivityPresenter(
|
||||
this.revision = revision
|
||||
this.isWii = isWii
|
||||
this.activity = activity
|
||||
shouldSave = savedInstanceState != null && savedInstanceState.getBoolean(KEY_SHOULD_SAVE)
|
||||
}
|
||||
|
||||
fun onDestroy() {
|
||||
@ -74,18 +72,16 @@ class SettingsActivityPresenter(
|
||||
}
|
||||
|
||||
fun onStop(finishing: Boolean) {
|
||||
if (settings != null && finishing && shouldSave) {
|
||||
Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI...")
|
||||
settings!!.saveSettings(activity)
|
||||
if (settings != null && finishing && settings!!.areSettingsLoaded()) {
|
||||
Log.debug("[SettingsActivity] Settings activity stopping. Ensuring settings are saved.")
|
||||
settings!!.saveSettings()
|
||||
}
|
||||
}
|
||||
|
||||
fun onSettingChanged() {
|
||||
shouldSave = true
|
||||
if (settings != null && settings!!.areSettingsLoaded()) {
|
||||
settings!!.saveSettings()
|
||||
}
|
||||
|
||||
fun saveState(outState: Bundle) {
|
||||
outState.putBoolean(KEY_SHOULD_SAVE, shouldSave)
|
||||
}
|
||||
|
||||
fun onMenuTagAction(menuTag: MenuTag, value: Int) {
|
||||
@ -140,8 +136,4 @@ class SettingsActivityPresenter(
|
||||
value != 0
|
||||
} else false
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val KEY_SHOULD_SAVE = "should_save"
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,8 +33,7 @@ object Analytics {
|
||||
BooleanSetting.MAIN_ANALYTICS_ENABLED.setBoolean(settings, enabled)
|
||||
BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.setBoolean(settings, true)
|
||||
|
||||
// Context is set to null to avoid toasts
|
||||
settings.saveSettings(null)
|
||||
settings.saveSettings()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -67,8 +67,6 @@
|
||||
<string name="graphics_settings">Graphics Settings</string>
|
||||
<string name="gcpad_settings">GameCube Input</string>
|
||||
<string name="wiimote_settings">Wii Input</string>
|
||||
<string name="settings_saved">Saved settings to INI files</string>
|
||||
<string name="settings_saved_game_specific">Saved settings for %1$s</string>
|
||||
|
||||
<!-- General Preference Fragment -->
|
||||
<string name="general_submenu">General</string>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user