|
@@ -10,6 +10,7 @@ import android.os.Bundle
|
|
|
import android.view.Menu
|
|
import android.view.Menu
|
|
|
import android.view.View
|
|
import android.view.View
|
|
|
import android.widget.Toast
|
|
import android.widget.Toast
|
|
|
|
|
+import androidx.activity.viewModels
|
|
|
import androidx.appcompat.app.AlertDialog
|
|
import androidx.appcompat.app.AlertDialog
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
import androidx.core.view.ViewCompat
|
|
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.ActivitySettingsBinding
|
|
|
import org.yuzu.yuzu_emu.databinding.DialogProgressBarBinding
|
|
import org.yuzu.yuzu_emu.databinding.DialogProgressBarBinding
|
|
|
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
|
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.*
|
|
import org.yuzu.yuzu_emu.utils.*
|
|
|
|
|
|
|
|
class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
@@ -32,6 +33,14 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
|
|
|
|
|
|
private lateinit var binding: ActivitySettingsBinding
|
|
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?) {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
ThemeHelper.setTheme(this)
|
|
ThemeHelper.setTheme(this)
|
|
|
|
|
|
|
@@ -93,9 +102,10 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun showSettingsFragment(menuTag: String, addToStack: Boolean, gameId: String) {
|
|
override fun showSettingsFragment(menuTag: String, addToStack: Boolean, gameId: String) {
|
|
|
- if (!addToStack && fragment != null) {
|
|
|
|
|
|
|
+ if (!addToStack && settingsFragment != null) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
val transaction = supportFragmentManager.beginTransaction()
|
|
val transaction = supportFragmentManager.beginTransaction()
|
|
|
if (addToStack) {
|
|
if (addToStack) {
|
|
|
if (areSystemAnimationsEnabled()) {
|
|
if (areSystemAnimationsEnabled()) {
|
|
@@ -108,7 +118,11 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
|
}
|
|
}
|
|
|
transaction.addToBackStack(null)
|
|
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()
|
|
transaction.commit()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -165,19 +179,13 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
|
).show()
|
|
).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)
|
|
fragment?.onSettingsFileLoaded(settings)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onSettingsFileNotFound() {
|
|
override fun onSettingsFileNotFound() {
|
|
|
- val fragment: SettingsFragmentView? = fragment
|
|
|
|
|
|
|
+ val fragment: SettingsFragmentView? = settingsFragment
|
|
|
fragment?.loadDefaultSettings()
|
|
fragment?.loadDefaultSettings()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -193,7 +201,7 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
|
|
|
presenter.onSettingChanged()
|
|
presenter.onSettingChanged()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private val fragment: SettingsFragment?
|
|
|
|
|
|
|
+ private val settingsFragment: SettingsFragment?
|
|
|
get() = supportFragmentManager.findFragmentByTag(FRAGMENT_TAG) as SettingsFragment?
|
|
get() = supportFragmentManager.findFragmentByTag(FRAGMENT_TAG) as SettingsFragment?
|
|
|
|
|
|
|
|
private fun setInsets() {
|
|
private fun setInsets() {
|