diff options
| author | 2023-04-30 20:13:20 -0600 | |
|---|---|---|
| committer | 2023-06-03 00:05:57 -0700 | |
| commit | d1fb7ea58b987fe1e8013986c3166d67e74bc391 (patch) | |
| tree | 2c2db881ba7532358dffd44d86cafe50dd17617a /src/android | |
| parent | android: Add user directory shortcut (diff) | |
| download | yuzu-d1fb7ea58b987fe1e8013986c3166d67e74bc391.tar.gz yuzu-d1fb7ea58b987fe1e8013986c3166d67e74bc391.tar.xz yuzu-d1fb7ea58b987fe1e8013986c3166d67e74bc391.zip | |
android: Add dedicated show overlay checkbox
Diffstat (limited to 'src/android')
3 files changed, 30 insertions, 6 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt index 8e94fd1db..daa704565 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | package org.yuzu.yuzu_emu.fragments | 4 | package org.yuzu.yuzu_emu.fragments |
| 5 | 5 | ||
| 6 | import android.app.AlertDialog | ||
| 6 | import android.content.Context | 7 | import android.content.Context |
| 7 | import android.content.SharedPreferences | 8 | import android.content.SharedPreferences |
| 8 | import android.graphics.Color | 9 | import android.graphics.Color |
| @@ -222,8 +223,10 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { | |||
| 222 | 223 | ||
| 223 | popup.menuInflater.inflate(R.menu.menu_overlay_options, popup.menu) | 224 | popup.menuInflater.inflate(R.menu.menu_overlay_options, popup.menu) |
| 224 | 225 | ||
| 225 | popup.menu.findItem(R.id.menu_rel_stick_center).isChecked = EmulationMenuSettings.joystickRelCenter | 226 | popup.menu.findItem(R.id.menu_rel_stick_center).isChecked = |
| 227 | EmulationMenuSettings.joystickRelCenter | ||
| 226 | popup.menu.findItem(R.id.menu_dpad_slide).isChecked = EmulationMenuSettings.dpadSlide | 228 | popup.menu.findItem(R.id.menu_dpad_slide).isChecked = EmulationMenuSettings.dpadSlide |
| 229 | popup.menu.findItem(R.id.menu_show_overlay).isChecked = EmulationMenuSettings.showOverlay | ||
| 227 | 230 | ||
| 228 | popup.setOnMenuItemClickListener { | 231 | popup.setOnMenuItemClickListener { |
| 229 | when (it.itemId) { | 232 | when (it.itemId) { |
| @@ -241,7 +244,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { | |||
| 241 | optionsArray[i] = preferences.getBoolean("buttonToggle$i", i < 13) | 244 | optionsArray[i] = preferences.getBoolean("buttonToggle$i", i < 13) |
| 242 | } | 245 | } |
| 243 | 246 | ||
| 244 | MaterialAlertDialogBuilder(requireContext()) | 247 | val dialog = MaterialAlertDialogBuilder(requireContext()) |
| 245 | .setTitle(R.string.emulation_toggle_controls) | 248 | .setTitle(R.string.emulation_toggle_controls) |
| 246 | .setMultiChoiceItems( | 249 | .setMultiChoiceItems( |
| 247 | R.array.gamepadButtons, | 250 | R.array.gamepadButtons, |
| @@ -254,12 +257,27 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { | |||
| 254 | .setPositiveButton(android.R.string.ok) { _, _ -> | 257 | .setPositiveButton(android.R.string.ok) { _, _ -> |
| 255 | refreshInputOverlay() | 258 | refreshInputOverlay() |
| 256 | } | 259 | } |
| 257 | .setNeutralButton(R.string.emulation_toggle_all) { _, _ -> | 260 | .setNeutralButton(R.string.emulation_toggle_all) { _, _ -> } |
| 258 | EmulationMenuSettings.showOverlay = !EmulationMenuSettings.showOverlay | ||
| 259 | refreshInputOverlay() | ||
| 260 | } | ||
| 261 | .show() | 261 | .show() |
| 262 | 262 | ||
| 263 | // Override normal behaviour so the dialog doesn't close | ||
| 264 | dialog.getButton(AlertDialog.BUTTON_NEUTRAL) | ||
| 265 | .setOnClickListener { | ||
| 266 | val isChecked = !optionsArray[0]; | ||
| 267 | for (i in 0..14) { | ||
| 268 | optionsArray[i] = isChecked; | ||
| 269 | dialog.listView.setItemChecked(i, isChecked) | ||
| 270 | preferences.edit() | ||
| 271 | .putBoolean("buttonToggle$i", isChecked) | ||
| 272 | .apply() | ||
| 273 | } | ||
| 274 | } | ||
| 275 | true | ||
| 276 | } | ||
| 277 | R.id.menu_show_overlay -> { | ||
| 278 | it.isChecked = !it.isChecked | ||
| 279 | EmulationMenuSettings.showOverlay = it.isChecked | ||
| 280 | refreshInputOverlay() | ||
| 263 | true | 281 | true |
| 264 | } | 282 | } |
| 265 | R.id.menu_rel_stick_center -> { | 283 | R.id.menu_rel_stick_center -> { |
diff --git a/src/android/app/src/main/res/menu/menu_overlay_options.xml b/src/android/app/src/main/res/menu/menu_overlay_options.xml index 36c710f14..17ba5496d 100644 --- a/src/android/app/src/main/res/menu/menu_overlay_options.xml +++ b/src/android/app/src/main/res/menu/menu_overlay_options.xml | |||
| @@ -10,6 +10,11 @@ | |||
| 10 | android:title="@string/emulation_toggle_controls" /> | 10 | android:title="@string/emulation_toggle_controls" /> |
| 11 | 11 | ||
| 12 | <item | 12 | <item |
| 13 | android:id="@+id/menu_show_overlay" | ||
| 14 | android:title="@string/emulation_show_overlay" | ||
| 15 | android:checkable="true" /> | ||
| 16 | |||
| 17 | <item | ||
| 13 | android:id="@+id/menu_rel_stick_center" | 18 | android:id="@+id/menu_rel_stick_center" |
| 14 | android:title="@string/emulation_rel_stick_center" | 19 | android:title="@string/emulation_rel_stick_center" |
| 15 | android:checkable="true" /> | 20 | android:checkable="true" /> |
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 58ae37790..c55b9e06b 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml | |||
| @@ -139,6 +139,7 @@ | |||
| 139 | <string name="emulation_toggle_controls">Toggle Controls</string> | 139 | <string name="emulation_toggle_controls">Toggle Controls</string> |
| 140 | <string name="emulation_rel_stick_center">Relative Stick Center</string> | 140 | <string name="emulation_rel_stick_center">Relative Stick Center</string> |
| 141 | <string name="emulation_dpad_slide">DPad Slide</string> | 141 | <string name="emulation_dpad_slide">DPad Slide</string> |
| 142 | <string name="emulation_show_overlay">Show Overlay</string> | ||
| 142 | <string name="emulation_toggle_all">Toggle All</string> | 143 | <string name="emulation_toggle_all">Toggle All</string> |
| 143 | <string name="emulation_control_scale">Adjust Scale</string> | 144 | <string name="emulation_control_scale">Adjust Scale</string> |
| 144 | <string name="emulation_touch_overlay_reset">Reset Overlay</string> | 145 | <string name="emulation_touch_overlay_reset">Reset Overlay</string> |