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() {
|
override fun onStop() {
|
||||||
super.onStop()
|
super.onStop()
|
||||||
settings.saveSettings(null)
|
settings.saveSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onTitleChanged() {
|
fun onTitleChanged() {
|
||||||
|
|||||||
@ -93,7 +93,7 @@ public class GamePropertiesDialog extends DialogFragment
|
|||||||
{
|
{
|
||||||
settings.loadSettings();
|
settings.loadSettings();
|
||||||
StringSetting.MAIN_DEFAULT_ISO.setString(settings, path);
|
StringSetting.MAIN_DEFAULT_ISO.setString(settings, path);
|
||||||
settings.saveSettings(getContext());
|
settings.saveSettings();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,11 +2,8 @@
|
|||||||
|
|
||||||
package org.dolphinemu.dolphinemu.features.settings.model
|
package org.dolphinemu.dolphinemu.features.settings.model
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.widget.Toast
|
|
||||||
import org.dolphinemu.dolphinemu.NativeLibrary
|
import org.dolphinemu.dolphinemu.NativeLibrary
|
||||||
import org.dolphinemu.dolphinemu.R
|
|
||||||
import org.dolphinemu.dolphinemu.features.input.model.MappingCommon
|
import org.dolphinemu.dolphinemu.features.input.model.MappingCommon
|
||||||
import java.io.Closeable
|
import java.io.Closeable
|
||||||
|
|
||||||
@ -52,14 +49,8 @@ class Settings : Closeable {
|
|||||||
loadSettings(isWii)
|
loadSettings(isWii)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun saveSettings(context: Context?) {
|
fun saveSettings() {
|
||||||
if (!isGameSpecific) {
|
if (!isGameSpecific) {
|
||||||
if (context != null) Toast.makeText(
|
|
||||||
context,
|
|
||||||
R.string.settings_saved,
|
|
||||||
Toast.LENGTH_SHORT
|
|
||||||
).show()
|
|
||||||
|
|
||||||
MappingCommon.save()
|
MappingCommon.save()
|
||||||
|
|
||||||
NativeConfig.save(NativeConfig.LAYER_BASE)
|
NativeConfig.save(NativeConfig.LAYER_BASE)
|
||||||
@ -67,13 +58,6 @@ class Settings : Closeable {
|
|||||||
NativeLibrary.ReloadLoggerConfig()
|
NativeLibrary.ReloadLoggerConfig()
|
||||||
NativeLibrary.UpdateGCAdapterScanThread()
|
NativeLibrary.UpdateGCAdapterScanThread()
|
||||||
} else {
|
} 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)
|
NativeConfig.save(NativeConfig.LAYER_LOCAL_GAME)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -98,7 +98,6 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|||||||
override fun onSaveInstanceState(outState: Bundle) {
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
// Critical: If super method is not called, rotations will be busted.
|
// Critical: If super method is not called, rotations will be busted.
|
||||||
super.onSaveInstanceState(outState)
|
super.onSaveInstanceState(outState)
|
||||||
presenter!!.saveState(outState)
|
|
||||||
outState.putBoolean(KEY_MAPPING_ALL_DEVICES, isMappingAllDevices)
|
outState.putBoolean(KEY_MAPPING_ALL_DEVICES, isMappingAllDevices)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,6 @@ class SettingsActivityPresenter(
|
|||||||
private val activityView: SettingsActivityView,
|
private val activityView: SettingsActivityView,
|
||||||
var settings: Settings?
|
var settings: Settings?
|
||||||
) {
|
) {
|
||||||
private var shouldSave = false
|
|
||||||
private var menuTag: MenuTag? = null
|
private var menuTag: MenuTag? = null
|
||||||
private var gameId: String? = null
|
private var gameId: String? = null
|
||||||
private var revision = 0
|
private var revision = 0
|
||||||
@ -33,7 +32,6 @@ class SettingsActivityPresenter(
|
|||||||
this.revision = revision
|
this.revision = revision
|
||||||
this.isWii = isWii
|
this.isWii = isWii
|
||||||
this.activity = activity
|
this.activity = activity
|
||||||
shouldSave = savedInstanceState != null && savedInstanceState.getBoolean(KEY_SHOULD_SAVE)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onDestroy() {
|
fun onDestroy() {
|
||||||
@ -74,18 +72,16 @@ class SettingsActivityPresenter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onStop(finishing: Boolean) {
|
fun onStop(finishing: Boolean) {
|
||||||
if (settings != null && finishing && shouldSave) {
|
if (settings != null && finishing && settings!!.areSettingsLoaded()) {
|
||||||
Log.debug("[SettingsActivity] Settings activity stopping. Saving settings to INI...")
|
Log.debug("[SettingsActivity] Settings activity stopping. Ensuring settings are saved.")
|
||||||
settings!!.saveSettings(activity)
|
settings!!.saveSettings()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onSettingChanged() {
|
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) {
|
fun onMenuTagAction(menuTag: MenuTag, value: Int) {
|
||||||
@ -140,8 +136,4 @@ class SettingsActivityPresenter(
|
|||||||
value != 0
|
value != 0
|
||||||
} else false
|
} 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_ENABLED.setBoolean(settings, enabled)
|
||||||
BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.setBoolean(settings, true)
|
BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.setBoolean(settings, true)
|
||||||
|
|
||||||
// Context is set to null to avoid toasts
|
settings.saveSettings()
|
||||||
settings.saveSettings(null)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -67,8 +67,6 @@
|
|||||||
<string name="graphics_settings">Graphics Settings</string>
|
<string name="graphics_settings">Graphics Settings</string>
|
||||||
<string name="gcpad_settings">GameCube Input</string>
|
<string name="gcpad_settings">GameCube Input</string>
|
||||||
<string name="wiimote_settings">Wii 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 -->
|
<!-- General Preference Fragment -->
|
||||||
<string name="general_submenu">General</string>
|
<string name="general_submenu">General</string>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user