summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt3
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingsViewModel.kt2
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivity.kt12
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.kt4
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.kt12
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt9
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt26
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt59
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.kt17
9 files changed, 51 insertions, 93 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt
index b59815770..bbe0097d6 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt
@@ -13,6 +13,8 @@ import java.util.*
13class Settings { 13class Settings {
14 private var gameId: String? = null 14 private var gameId: String? = null
15 15
16 var isLoaded = false
17
16 /** 18 /**
17 * A HashMap<String></String>, SettingSection> that constructs a new SettingSection instead of returning null 19 * A HashMap<String></String>, SettingSection> that constructs a new SettingSection instead of returning null
18 * when getting a key not already in the map 20 * when getting a key not already in the map
@@ -43,6 +45,7 @@ class Settings {
43 if (!TextUtils.isEmpty(gameId)) { 45 if (!TextUtils.isEmpty(gameId)) {
44 loadCustomGameSettings(gameId!!, view) 46 loadCustomGameSettings(gameId!!, view)
45 } 47 }
48 isLoaded = true
46 } 49 }
47 50
48 private fun loadYuzuSettings(view: SettingsActivityView) { 51 private fun loadYuzuSettings(view: SettingsActivityView) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingsViewModel.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingsViewModel.kt
index 0e33a85bb..7141604d5 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingsViewModel.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/SettingsViewModel.kt
@@ -3,5 +3,5 @@ package org.yuzu.yuzu_emu.features.settings.model
3import androidx.lifecycle.ViewModel 3import androidx.lifecycle.ViewModel
4 4
5class SettingsViewModel : ViewModel() { 5class SettingsViewModel : ViewModel() {
6 var settings = Settings() 6 val settings = Settings()
7} 7}
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 1683f511f..60858ecd6 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
@@ -35,11 +35,7 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
35 35
36 private val settingsViewModel: SettingsViewModel by viewModels() 36 private val settingsViewModel: SettingsViewModel by viewModels()
37 37
38 override var settings: Settings 38 override val settings: Settings get() = settingsViewModel.settings
39 get() = settingsViewModel.settings
40 set(settings) {
41 settingsViewModel.settings = settings
42 }
43 39
44 override fun onCreate(savedInstanceState: Bundle?) { 40 override fun onCreate(savedInstanceState: Bundle?) {
45 ThemeHelper.setTheme(this) 41 ThemeHelper.setTheme(this)
@@ -179,14 +175,14 @@ class SettingsActivity : AppCompatActivity(), SettingsActivityView {
179 ).show() 175 ).show()
180 } 176 }
181 177
182 override fun onSettingsFileLoaded(settings: Settings) { 178 override fun onSettingsFileLoaded() {
183 val fragment: SettingsFragmentView? = settingsFragment 179 val fragment: SettingsFragmentView? = settingsFragment
184 fragment?.onSettingsFileLoaded(settings) 180 fragment?.loadSettingsList()
185 } 181 }
186 182
187 override fun onSettingsFileNotFound() { 183 override fun onSettingsFileNotFound() {
188 val fragment: SettingsFragmentView? = settingsFragment 184 val fragment: SettingsFragmentView? = settingsFragment
189 fragment?.loadDefaultSettings() 185 fragment?.loadSettingsList()
190 } 186 }
191 187
192 override fun showToastMessage(message: String, is_long: Boolean) { 188 override fun showToastMessage(message: String, is_long: Boolean) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.kt
index 60df9d5b5..2a86e4463 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityPresenter.kt
@@ -36,7 +36,7 @@ class SettingsActivityPresenter(private val activityView: SettingsActivityView)
36 } 36 }
37 37
38 private fun loadSettingsUI() { 38 private fun loadSettingsUI() {
39 if (settings.isEmpty) { 39 if (!settings.isLoaded) {
40 if (!TextUtils.isEmpty(gameId)) { 40 if (!TextUtils.isEmpty(gameId)) {
41 settings.loadSettings(gameId, activityView) 41 settings.loadSettings(gameId, activityView)
42 } else { 42 } else {
@@ -44,7 +44,7 @@ class SettingsActivityPresenter(private val activityView: SettingsActivityView)
44 } 44 }
45 } 45 }
46 activityView.showSettingsFragment(menuTag, false, gameId) 46 activityView.showSettingsFragment(menuTag, false, gameId)
47 activityView.onSettingsFileLoaded(settings) 47 activityView.onSettingsFileLoaded()
48 } 48 }
49 49
50 private fun prepareDirectoriesIfNeeded() { 50 private fun prepareDirectoriesIfNeeded() {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.kt
index f19ca0e30..2b6dd2fce 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsActivityView.kt
@@ -24,19 +24,17 @@ interface SettingsActivityView {
24 * loaded from disk, so that each Fragment doesn't need to perform its own 24 * loaded from disk, so that each Fragment doesn't need to perform its own
25 * read operation. 25 * read operation.
26 * 26 *
27 * @return A possibly null HashMap of Settings. 27 * @return A HashMap of Settings.
28 */ 28 */
29 var settings: Settings 29 val settings: Settings
30 30
31 /** 31 /**
32 * Called when an asynchronous load operation completes. 32 * Called when a load operation completes.
33 *
34 * @param settings The (possibly null) result of the ini load operation.
35 */ 33 */
36 fun onSettingsFileLoaded(settings: Settings) 34 fun onSettingsFileLoaded()
37 35
38 /** 36 /**
39 * Called when an asynchronous load operation fails. 37 * Called when a load operation fails.
40 */ 38 */
41 fun onSettingsFileNotFound() 39 fun onSettingsFileNotFound()
42 40
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt
index 1f81f6e62..cdbdc78a0 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsAdapter.kt
@@ -12,6 +12,7 @@ import android.view.LayoutInflater
12import android.view.ViewGroup 12import android.view.ViewGroup
13import android.widget.TextView 13import android.widget.TextView
14import androidx.appcompat.app.AlertDialog 14import androidx.appcompat.app.AlertDialog
15import androidx.appcompat.app.AppCompatActivity
15import androidx.recyclerview.widget.RecyclerView 16import androidx.recyclerview.widget.RecyclerView
16import com.google.android.material.datepicker.MaterialDatePicker 17import com.google.android.material.datepicker.MaterialDatePicker
17import com.google.android.material.dialog.MaterialAlertDialogBuilder 18import com.google.android.material.dialog.MaterialAlertDialogBuilder
@@ -93,7 +94,7 @@ class SettingsAdapter(
93 return getItem(position).type 94 return getItem(position).type
94 } 95 }
95 96
96 fun setSettings(settings: ArrayList<SettingsItem>?) { 97 fun setSettingsList(settings: ArrayList<SettingsItem>?) {
97 this.settings = settings 98 this.settings = settings
98 notifyDataSetChanged() 99 notifyDataSetChanged()
99 } 100 }
@@ -144,7 +145,7 @@ class SettingsAdapter(
144 calendar.timeZone = TimeZone.getTimeZone("UTC") 145 calendar.timeZone = TimeZone.getTimeZone("UTC")
145 146
146 var timeFormat: Int = TimeFormat.CLOCK_12H 147 var timeFormat: Int = TimeFormat.CLOCK_12H
147 if (DateFormat.is24HourFormat(fragmentView.fragmentActivity)) { 148 if (DateFormat.is24HourFormat(fragmentView.activityView as AppCompatActivity)) {
148 timeFormat = TimeFormat.CLOCK_24H 149 timeFormat = TimeFormat.CLOCK_24H
149 } 150 }
150 151
@@ -161,7 +162,7 @@ class SettingsAdapter(
161 162
162 datePicker.addOnPositiveButtonClickListener { 163 datePicker.addOnPositiveButtonClickListener {
163 timePicker.show( 164 timePicker.show(
164 fragmentView.fragmentActivity.supportFragmentManager, 165 (fragmentView.activityView as AppCompatActivity).supportFragmentManager,
165 "TimePicker" 166 "TimePicker"
166 ) 167 )
167 } 168 }
@@ -177,7 +178,7 @@ class SettingsAdapter(
177 item.setSelectedValue(rtcString) 178 item.setSelectedValue(rtcString)
178 clickedItem = null 179 clickedItem = null
179 } 180 }
180 datePicker.show(fragmentView.fragmentActivity.supportFragmentManager, "DatePicker") 181 datePicker.show((fragmentView.activityView as AppCompatActivity).supportFragmentManager, "DatePicker")
181 } 182 }
182 183
183 fun onSliderClick(item: SliderSetting, position: Int) { 184 fun onSliderClick(item: SliderSetting, position: Int) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt
index f522a82b7..a9cfdc21f 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragment.kt
@@ -12,7 +12,6 @@ import androidx.core.view.ViewCompat
12import androidx.core.view.WindowInsetsCompat 12import androidx.core.view.WindowInsetsCompat
13import androidx.core.view.updatePadding 13import androidx.core.view.updatePadding
14import androidx.fragment.app.Fragment 14import androidx.fragment.app.Fragment
15import androidx.fragment.app.FragmentActivity
16import androidx.recyclerview.widget.LinearLayoutManager 15import androidx.recyclerview.widget.LinearLayoutManager
17import com.google.android.material.divider.MaterialDividerItemDecoration 16import com.google.android.material.divider.MaterialDividerItemDecoration
18import org.yuzu.yuzu_emu.databinding.FragmentSettingsBinding 17import org.yuzu.yuzu_emu.databinding.FragmentSettingsBinding
@@ -21,10 +20,9 @@ import org.yuzu.yuzu_emu.features.settings.model.Settings
21import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem 20import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
22 21
23class SettingsFragment : Fragment(), SettingsFragmentView { 22class SettingsFragment : Fragment(), SettingsFragmentView {
24 override lateinit var fragmentActivity: FragmentActivity 23 override var activityView: SettingsActivityView? = null
25 24
26 private val presenter = SettingsFragmentPresenter(this) 25 private val fragmentPresenter = SettingsFragmentPresenter(this)
27 private var activityView: SettingsActivityView? = null
28 private var settingsAdapter: SettingsAdapter? = null 26 private var settingsAdapter: SettingsAdapter? = null
29 27
30 private var _binding: FragmentSettingsBinding? = null 28 private var _binding: FragmentSettingsBinding? = null
@@ -32,15 +30,14 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
32 30
33 override fun onAttach(context: Context) { 31 override fun onAttach(context: Context) {
34 super.onAttach(context) 32 super.onAttach(context)
35 activityView = context as SettingsActivityView 33 activityView = requireActivity() as SettingsActivityView
36 fragmentActivity = requireActivity()
37 } 34 }
38 35
39 override fun onCreate(savedInstanceState: Bundle?) { 36 override fun onCreate(savedInstanceState: Bundle?) {
40 super.onCreate(savedInstanceState) 37 super.onCreate(savedInstanceState)
41 val menuTag = requireArguments().getString(ARGUMENT_MENU_TAG) 38 val menuTag = requireArguments().getString(ARGUMENT_MENU_TAG)
42 val gameId = requireArguments().getString(ARGUMENT_GAME_ID) 39 val gameId = requireArguments().getString(ARGUMENT_GAME_ID)
43 presenter.onCreate(menuTag!!, gameId!!) 40 fragmentPresenter.onCreate(menuTag!!, gameId!!)
44 } 41 }
45 42
46 override fun onCreateView( 43 override fun onCreateView(
@@ -61,8 +58,7 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
61 layoutManager = LinearLayoutManager(activity) 58 layoutManager = LinearLayoutManager(activity)
62 addItemDecoration(dividerDecoration) 59 addItemDecoration(dividerDecoration)
63 } 60 }
64 val activity = activity as SettingsActivityView? 61 fragmentPresenter.onViewCreated()
65 presenter.onViewCreated(activity!!.settings)
66 62
67 setInsets() 63 setInsets()
68 } 64 }
@@ -75,16 +71,12 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
75 } 71 }
76 } 72 }
77 73
78 override fun onSettingsFileLoaded(settings: Settings) {
79 presenter.setSettings(settings)
80 }
81
82 override fun showSettingsList(settingsList: ArrayList<SettingsItem>) { 74 override fun showSettingsList(settingsList: ArrayList<SettingsItem>) {
83 settingsAdapter!!.setSettings(settingsList) 75 settingsAdapter!!.setSettingsList(settingsList)
84 } 76 }
85 77
86 override fun loadDefaultSettings() { 78 override fun loadSettingsList() {
87 presenter.loadDefaultSettings() 79 fragmentPresenter.loadSettingsList()
88 } 80 }
89 81
90 override fun loadSubMenu(menuKey: String) { 82 override fun loadSubMenu(menuKey: String) {
@@ -100,7 +92,7 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
100 } 92 }
101 93
102 override fun putSetting(setting: Setting) { 94 override fun putSetting(setting: Setting) {
103 presenter.putSetting(setting) 95 fragmentPresenter.putSetting(setting)
104 } 96 }
105 97
106 override fun onSettingChanged() { 98 override fun onSettingChanged() {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
index 8eaa0a0fa..e2b1326f8 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
@@ -4,58 +4,37 @@
4package org.yuzu.yuzu_emu.features.settings.ui 4package org.yuzu.yuzu_emu.features.settings.ui
5 5
6import android.text.TextUtils 6import android.text.TextUtils
7import androidx.appcompat.app.AppCompatActivity
7import org.yuzu.yuzu_emu.R 8import org.yuzu.yuzu_emu.R
8import org.yuzu.yuzu_emu.features.settings.model.Setting 9import org.yuzu.yuzu_emu.features.settings.model.Setting
9import org.yuzu.yuzu_emu.features.settings.model.Settings 10import org.yuzu.yuzu_emu.features.settings.model.Settings
10import org.yuzu.yuzu_emu.features.settings.model.StringSetting
11import org.yuzu.yuzu_emu.features.settings.model.view.* 11import org.yuzu.yuzu_emu.features.settings.model.view.*
12import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile 12import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile
13 13
14class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) { 14class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) {
15 private var menuTag: String? = null 15 private var menuTag: String? = null
16 private lateinit var gameId: String 16 private lateinit var gameId: String
17 private var settings: Settings? = null
18 private var settingsList: ArrayList<SettingsItem>? = null 17 private var settingsList: ArrayList<SettingsItem>? = null
19 18
19 private val settingsActivity get() = fragmentView.activityView as AppCompatActivity
20 private val settings get() = fragmentView.activityView!!.settings
21
20 fun onCreate(menuTag: String, gameId: String) { 22 fun onCreate(menuTag: String, gameId: String) {
21 this.gameId = gameId 23 this.gameId = gameId
22 this.menuTag = menuTag 24 this.menuTag = menuTag
23 } 25 }
24 26
25 fun onViewCreated(settings: Settings) { 27 fun onViewCreated() {
26 setSettings(settings)
27 }
28
29 fun putSetting(setting: Setting) {
30 settings!!.getSection(setting.section)!!.putSetting(setting)
31 }
32
33 private fun asStringSetting(setting: Setting?): StringSetting? {
34 if (setting == null) {
35 return null
36 }
37 val stringSetting = StringSetting(setting.key, setting.section, setting.valueAsString)
38 putSetting(stringSetting)
39 return stringSetting
40 }
41
42 fun loadDefaultSettings() {
43 loadSettingsList() 28 loadSettingsList()
44 } 29 }
45 30
46 fun setSettings(settings: Settings) { 31 fun putSetting(setting: Setting) {
47 if (settingsList == null) { 32 settings.getSection(setting.section)!!.putSetting(setting)
48 this.settings = settings
49 loadSettingsList()
50 } else {
51 fragmentView.fragmentActivity.setTitle(R.string.preferences_settings)
52 fragmentView.showSettingsList(settingsList!!)
53 }
54 } 33 }
55 34
56 private fun loadSettingsList() { 35 fun loadSettingsList() {
57 if (!TextUtils.isEmpty(gameId)) { 36 if (!TextUtils.isEmpty(gameId)) {
58 fragmentView.fragmentActivity.title = "Game Settings: $gameId" 37 settingsActivity.title = "Game Settings: $gameId"
59 } 38 }
60 val sl = ArrayList<SettingsItem>() 39 val sl = ArrayList<SettingsItem>()
61 if (menuTag == null) { 40 if (menuTag == null) {
@@ -77,7 +56,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
77 } 56 }
78 57
79 private fun addConfigSettings(sl: ArrayList<SettingsItem>) { 58 private fun addConfigSettings(sl: ArrayList<SettingsItem>) {
80 fragmentView.fragmentActivity.setTitle(R.string.preferences_settings) 59 settingsActivity.setTitle(R.string.preferences_settings)
81 sl.apply { 60 sl.apply {
82 add( 61 add(
83 SubmenuSetting( 62 SubmenuSetting(
@@ -119,12 +98,12 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
119 } 98 }
120 99
121 private fun addGeneralSettings(sl: ArrayList<SettingsItem>) { 100 private fun addGeneralSettings(sl: ArrayList<SettingsItem>) {
122 fragmentView.fragmentActivity.setTitle(R.string.preferences_general) 101 settingsActivity.setTitle(R.string.preferences_general)
123 val rendererSection = settings!!.getSection(Settings.SECTION_RENDERER) 102 val rendererSection = settings.getSection(Settings.SECTION_RENDERER)
124 val frameLimitEnable = 103 val frameLimitEnable =
125 rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_USE_SPEED_LIMIT) 104 rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_USE_SPEED_LIMIT)
126 val frameLimitValue = rendererSection.getSetting(SettingsFile.KEY_RENDERER_SPEED_LIMIT) 105 val frameLimitValue = rendererSection.getSetting(SettingsFile.KEY_RENDERER_SPEED_LIMIT)
127 val cpuSection = settings!!.getSection(Settings.SECTION_CPU) 106 val cpuSection = settings.getSection(Settings.SECTION_CPU)
128 val cpuAccuracy = cpuSection!!.getSetting(SettingsFile.KEY_CPU_ACCURACY) 107 val cpuAccuracy = cpuSection!!.getSetting(SettingsFile.KEY_CPU_ACCURACY)
129 sl.apply { 108 sl.apply {
130 add( 109 add(
@@ -166,8 +145,8 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
166 } 145 }
167 146
168 private fun addSystemSettings(sl: ArrayList<SettingsItem>) { 147 private fun addSystemSettings(sl: ArrayList<SettingsItem>) {
169 fragmentView.fragmentActivity.setTitle(R.string.preferences_system) 148 settingsActivity.setTitle(R.string.preferences_system)
170 val systemSection = settings!!.getSection(Settings.SECTION_SYSTEM) 149 val systemSection = settings.getSection(Settings.SECTION_SYSTEM)
171 val dockedMode = systemSection!!.getSetting(SettingsFile.KEY_USE_DOCKED_MODE) 150 val dockedMode = systemSection!!.getSetting(SettingsFile.KEY_USE_DOCKED_MODE)
172 val region = systemSection.getSetting(SettingsFile.KEY_REGION_INDEX) 151 val region = systemSection.getSetting(SettingsFile.KEY_REGION_INDEX)
173 val language = systemSection.getSetting(SettingsFile.KEY_LANGUAGE_INDEX) 152 val language = systemSection.getSetting(SettingsFile.KEY_LANGUAGE_INDEX)
@@ -210,8 +189,8 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
210 } 189 }
211 190
212 private fun addGraphicsSettings(sl: ArrayList<SettingsItem>) { 191 private fun addGraphicsSettings(sl: ArrayList<SettingsItem>) {
213 fragmentView.fragmentActivity.setTitle(R.string.preferences_graphics) 192 settingsActivity.setTitle(R.string.preferences_graphics)
214 val rendererSection = settings!!.getSection(Settings.SECTION_RENDERER) 193 val rendererSection = settings.getSection(Settings.SECTION_RENDERER)
215 val rendererBackend = rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_BACKEND) 194 val rendererBackend = rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_BACKEND)
216 val rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY) 195 val rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY)
217 val rendererResolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION) 196 val rendererResolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION)
@@ -305,8 +284,8 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
305 } 284 }
306 285
307 private fun addAudioSettings(sl: ArrayList<SettingsItem>) { 286 private fun addAudioSettings(sl: ArrayList<SettingsItem>) {
308 fragmentView.fragmentActivity.setTitle(R.string.preferences_audio) 287 settingsActivity.setTitle(R.string.preferences_audio)
309 val audioSection = settings!!.getSection(Settings.SECTION_AUDIO) 288 val audioSection = settings.getSection(Settings.SECTION_AUDIO)
310 val audioVolume = audioSection!!.getSetting(SettingsFile.KEY_AUDIO_VOLUME) 289 val audioVolume = audioSection!!.getSetting(SettingsFile.KEY_AUDIO_VOLUME)
311 sl.add( 290 sl.add(
312 SliderSetting( 291 SliderSetting(
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.kt
index 2d9700fca..9a14c5795 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentView.kt
@@ -3,9 +3,7 @@
3 3
4package org.yuzu.yuzu_emu.features.settings.ui 4package org.yuzu.yuzu_emu.features.settings.ui
5 5
6import androidx.fragment.app.FragmentActivity
7import org.yuzu.yuzu_emu.features.settings.model.Setting 6import org.yuzu.yuzu_emu.features.settings.model.Setting
8import org.yuzu.yuzu_emu.features.settings.model.Settings
9import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem 7import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
10 8
11/** 9/**
@@ -14,14 +12,6 @@ import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
14 */ 12 */
15interface SettingsFragmentView { 13interface SettingsFragmentView {
16 /** 14 /**
17 * Called by the containing Activity to notify the Fragment that an
18 * asynchronous load operation completed.
19 *
20 * @param settings The (possibly null) result of the ini load operation.
21 */
22 fun onSettingsFileLoaded(settings: Settings)
23
24 /**
25 * Pass an ArrayList to the View so that it can be displayed on screen. 15 * Pass an ArrayList to the View so that it can be displayed on screen.
26 * 16 *
27 * @param settingsList The result of converting the HashMap to an ArrayList 17 * @param settingsList The result of converting the HashMap to an ArrayList
@@ -29,15 +19,14 @@ interface SettingsFragmentView {
29 fun showSettingsList(settingsList: ArrayList<SettingsItem>) 19 fun showSettingsList(settingsList: ArrayList<SettingsItem>)
30 20
31 /** 21 /**
32 * Called by the containing Activity when an asynchronous load operation fails. 22 * Instructs the Fragment to load the settings screen.
33 * Instructs the Fragment to load the settings screen with defaults selected.
34 */ 23 */
35 fun loadDefaultSettings() 24 fun loadSettingsList()
36 25
37 /** 26 /**
38 * @return The Fragment's containing activity. 27 * @return The Fragment's containing activity.
39 */ 28 */
40 val fragmentActivity: FragmentActivity 29 val activityView: SettingsActivityView?
41 30
42 /** 31 /**
43 * Tell the Fragment to tell the containing Activity to show a new 32 * Tell the Fragment to tell the containing Activity to show a new