summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt2
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt22
-rw-r--r--src/android/app/src/main/res/layout/list_item_setting_switch.xml55
-rw-r--r--src/android/app/src/main/res/values/strings.xml9
4 files changed, 59 insertions, 29 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
index 63b4df273..28dbead36 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
@@ -8,6 +8,8 @@ enum class BooleanSetting(
8 override val section: String, 8 override val section: String,
9 override val defaultValue: Boolean 9 override val defaultValue: Boolean
10) : AbstractBooleanSetting { 10) : AbstractBooleanSetting {
11 FASTMEM("cpuopt_fastmem", Settings.SECTION_CPU, true),
12 FASTMEM_EXCLUSIVES("cpuopt_fastmem_exclusives", Settings.SECTION_CPU, true),
11 PICTURE_IN_PICTURE("picture_in_picture", Settings.SECTION_GENERAL, true), 13 PICTURE_IN_PICTURE("picture_in_picture", Settings.SECTION_GENERAL, true),
12 USE_CUSTOM_RTC("custom_rtc_enabled", Settings.SECTION_SYSTEM, false); 14 USE_CUSTOM_RTC("custom_rtc_enabled", Settings.SECTION_SYSTEM, false);
13 15
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 3b33f4faf..35e3f62f9 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
@@ -487,6 +487,28 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
487 IntSetting.RENDERER_DEBUG.defaultValue 487 IntSetting.RENDERER_DEBUG.defaultValue
488 ) 488 )
489 ) 489 )
490
491 val fastmem = object : AbstractBooleanSetting {
492 override var boolean: Boolean
493 get() =
494 BooleanSetting.FASTMEM.boolean && BooleanSetting.FASTMEM_EXCLUSIVES.boolean
495 set(value) {
496 BooleanSetting.FASTMEM.boolean = value
497 BooleanSetting.FASTMEM_EXCLUSIVES.boolean = value
498 }
499 override val key: String? = null
500 override val section: String = Settings.SECTION_CPU
501 override val isRuntimeEditable: Boolean = false
502 override val valueAsString: String = ""
503 override val defaultValue: Any = true
504 }
505 add(
506 SwitchSetting(
507 fastmem,
508 R.string.fastmem,
509 0
510 )
511 )
490 } 512 }
491 } 513 }
492} 514}
diff --git a/src/android/app/src/main/res/layout/list_item_setting_switch.xml b/src/android/app/src/main/res/layout/list_item_setting_switch.xml
index 599d845ad..a5767adee 100644
--- a/src/android/app/src/main/res/layout/list_item_setting_switch.xml
+++ b/src/android/app/src/main/res/layout/list_item_setting_switch.xml
@@ -1,16 +1,16 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
3 xmlns:tools="http://schemas.android.com/tools" 4 xmlns:tools="http://schemas.android.com/tools"
4 android:layout_width="match_parent" 5 android:layout_width="match_parent"
5 android:layout_height="wrap_content" 6 android:layout_height="wrap_content"
6 xmlns:app="http://schemas.android.com/apk/res-auto"
7 android:background="?android:attr/selectableItemBackground" 7 android:background="?android:attr/selectableItemBackground"
8 android:clickable="true" 8 android:clickable="true"
9 android:focusable="true" 9 android:focusable="true"
10 android:minHeight="72dp" 10 android:minHeight="72dp"
11 android:paddingVertical="@dimen/spacing_large"
11 android:paddingStart="@dimen/spacing_large" 12 android:paddingStart="@dimen/spacing_large"
12 android:paddingEnd="24dp" 13 android:paddingEnd="24dp">
13 android:paddingVertical="@dimen/spacing_large">
14 14
15 <com.google.android.material.materialswitch.MaterialSwitch 15 <com.google.android.material.materialswitch.MaterialSwitch
16 android:id="@+id/switch_widget" 16 android:id="@+id/switch_widget"
@@ -19,32 +19,35 @@
19 android:layout_alignParentEnd="true" 19 android:layout_alignParentEnd="true"
20 android:layout_centerVertical="true" /> 20 android:layout_centerVertical="true" />
21 21
22 <com.google.android.material.textview.MaterialTextView 22 <LinearLayout
23 style="@style/TextAppearance.Material3.BodySmall" 23 android:layout_width="match_parent"
24 android:id="@+id/text_setting_description"
25 android:layout_width="wrap_content"
26 android:layout_height="wrap_content"
27 android:layout_alignParentStart="true"
28 android:layout_alignStart="@+id/text_setting_name"
29 android:layout_below="@+id/text_setting_name"
30 android:layout_marginEnd="@dimen/spacing_large"
31 android:layout_marginTop="@dimen/spacing_small"
32 android:layout_toStartOf="@+id/switch_widget"
33 android:textAlignment="viewStart"
34 tools:text="@string/frame_limit_enable_description" />
35
36 <com.google.android.material.textview.MaterialTextView
37 style="@style/TextAppearance.Material3.HeadlineMedium"
38 android:id="@+id/text_setting_name"
39 android:layout_width="0dp"
40 android:layout_height="wrap_content" 24 android:layout_height="wrap_content"
41 android:layout_alignParentStart="true"
42 android:layout_alignParentTop="true" 25 android:layout_alignParentTop="true"
26 android:layout_centerVertical="true"
43 android:layout_marginEnd="@dimen/spacing_large" 27 android:layout_marginEnd="@dimen/spacing_large"
44 android:layout_toStartOf="@+id/switch_widget" 28 android:layout_toStartOf="@+id/switch_widget"
45 android:textSize="16sp" 29 android:gravity="center_vertical"
46 android:textAlignment="viewStart" 30 android:orientation="vertical">
47 app:lineHeight="28dp" 31
48 tools:text="@string/frame_limit_enable" /> 32 <com.google.android.material.textview.MaterialTextView
33 android:id="@+id/text_setting_name"
34 style="@style/TextAppearance.Material3.HeadlineMedium"
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:textAlignment="viewStart"
38 android:textSize="16sp"
39 app:lineHeight="28dp"
40 tools:text="@string/frame_limit_enable" />
41
42 <com.google.android.material.textview.MaterialTextView
43 android:id="@+id/text_setting_description"
44 style="@style/TextAppearance.Material3.BodySmall"
45 android:layout_width="wrap_content"
46 android:layout_height="wrap_content"
47 android:layout_marginTop="@dimen/spacing_small"
48 android:textAlignment="viewStart"
49 tools:text="@string/frame_limit_enable_description" />
50
51 </LinearLayout>
49 52
50</RelativeLayout> 53</RelativeLayout>
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 2f2059d42..0e42956f7 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -158,7 +158,6 @@
158 <string name="set_custom_rtc">Set custom RTC</string> 158 <string name="set_custom_rtc">Set custom RTC</string>
159 159
160 <!-- Graphics settings strings --> 160 <!-- Graphics settings strings -->
161 <string name="renderer_api">API</string>
162 <string name="renderer_accuracy">Accuracy level</string> 161 <string name="renderer_accuracy">Accuracy level</string>
163 <string name="renderer_resolution">Resolution (Handheld/Docked)</string> 162 <string name="renderer_resolution">Resolution (Handheld/Docked)</string>
164 <string name="renderer_vsync">VSync mode</string> 163 <string name="renderer_vsync">VSync mode</string>
@@ -172,11 +171,15 @@
172 <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, reducing stutter but may introduce glitches.</string> 171 <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, reducing stutter but may introduce glitches.</string>
173 <string name="renderer_reactive_flushing">Use reactive flushing</string> 172 <string name="renderer_reactive_flushing">Use reactive flushing</string>
174 <string name="renderer_reactive_flushing_description">Improves rendering accuracy in some games at the cost of performance.</string> 173 <string name="renderer_reactive_flushing_description">Improves rendering accuracy in some games at the cost of performance.</string>
175 <string name="renderer_debug">Graphics debugging</string>
176 <string name="renderer_debug_description">Sets the graphics API to a slow debugging mode.</string>
177 <string name="use_disk_shader_cache">Disk shader cache</string> 174 <string name="use_disk_shader_cache">Disk shader cache</string>
178 <string name="use_disk_shader_cache_description">Reduces stuttering by locally storing and loading generated shaders.</string> 175 <string name="use_disk_shader_cache_description">Reduces stuttering by locally storing and loading generated shaders.</string>
179 176
177 <!-- Debug settings strings -->
178 <string name="renderer_api">API</string>
179 <string name="renderer_debug">Graphics debugging</string>
180 <string name="renderer_debug_description">Sets the graphics API to a slow debugging mode.</string>
181 <string name="fastmem">Fastmem</string>
182
180 <!-- Audio settings strings --> 183 <!-- Audio settings strings -->
181 <string name="audio_volume">Volume</string> 184 <string name="audio_volume">Volume</string>
182 <string name="audio_volume_description">Specifies the volume of audio output.</string> 185 <string name="audio_volume_description">Specifies the volume of audio output.</string>