summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt
index fca2f2155..1683f511f 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt
@@ -10,6 +10,7 @@ import android.os.Bundle
import android.view.Menu
import android.view.View
import android.widget.Toast
+import androidx.activity.viewModels
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
@@ -23,7 +24,7 @@ import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.databinding.ActivitySettingsBinding
import org.yuzu.yuzu_emu.databinding.DialogProgressBarBinding
import org.yuzu.yuzu_emu.features.settings.model.Settings
-import org.yuzu.yuzu_emu.features.settings.ui.SettingsFragment.Companion.newInstance
+import org.yuzu.yuzu_emu.features.settings.model.SettingsViewModel
import org.yuzu.yuzu_emu.utils.*
class SettingsActivity : AppCompatActivity(), SettingsActivityView {
@@ -32,6 +33,14 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
private lateinit var binding: ActivitySettingsBinding
+ private val settingsViewModel: SettingsViewModel by viewModels()
+
+ override var settings: Settings
+ get() = settingsViewModel.settings
+ set(settings) {
+ settingsViewModel.settings = settings
+ }
+
override fun onCreate(savedInstanceState: Bundle?) {
ThemeHelper.setTheme(this)
@@ -93,9 +102,10 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
}
override fun showSettingsFragment(menuTag: String, addToStack: Boolean, gameId: String) {
- if (!addToStack && fragment != null) {
+ if (!addToStack && settingsFragment != null) {
return
}
+
val transaction = supportFragmentManager.beginTransaction()
if (addToStack) {
if (areSystemAnimationsEnabled()) {
@@ -108,7 +118,11 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
}
transaction.addToBackStack(null)
}
- transaction.replace(R.id.frame_content, newInstance(menuTag, gameId), FRAGMENT_TAG)
+ transaction.replace(
+ R.id.frame_content,
+ SettingsFragment.newInstance(menuTag, gameId),
+ FRAGMENT_TAG
+ )
transaction.commit()
}
@@ -165,19 +179,13 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
).show()
}
- override var settings: Settings?
- get() = presenter.settings
- set(settings) {
- presenter.settings = settings
- }
-
- override fun onSettingsFileLoaded(settings: Settings?) {
- val fragment: SettingsFragmentView? = fragment
+ override fun onSettingsFileLoaded(settings: Settings) {
+ val fragment: SettingsFragmentView? = settingsFragment
fragment?.onSettingsFileLoaded(settings)
}
override fun onSettingsFileNotFound() {
- val fragment: SettingsFragmentView? = fragment
+ val fragment: SettingsFragmentView? = settingsFragment
fragment?.loadDefaultSettings()
}
@@ -193,7 +201,7 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
presenter.onSettingChanged()
}
- private val fragment: SettingsFragment?
+ private val settingsFragment: SettingsFragment?
get() = supportFragmentManager.findFragmentByTag(FRAGMENT_TAG) as SettingsFragment?
private fun setInsets() {