summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt36
1 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 1d1c1333d..a31414a0e 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
@@ -111,19 +111,23 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
}
true
}
+
R.id.menu_settings -> {
SettingsActivity.launch(requireContext(), SettingsFile.FILE_NAME_CONFIG, "")
true
}
+
R.id.menu_overlay_controls -> {
showOverlayOptions()
true
}
+
R.id.menu_exit -> {
requireActivity().finish()
emulationState.stop()
true
}
+
else -> true
}
}
@@ -224,6 +228,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
popup.menuInflater.inflate(R.menu.menu_overlay_options, popup.menu)
popup.menu.apply {
+ findItem(R.id.menu_toggle_fps).isChecked = EmulationMenuSettings.showFps
findItem(R.id.menu_rel_stick_center).isChecked = EmulationMenuSettings.joystickRelCenter
findItem(R.id.menu_dpad_slide).isChecked = EmulationMenuSettings.dpadSlide
findItem(R.id.menu_show_overlay).isChecked = EmulationMenuSettings.showOverlay
@@ -232,12 +237,20 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
popup.setOnMenuItemClickListener {
when (it.itemId) {
+ R.id.menu_toggle_fps -> {
+ it.isChecked = !it.isChecked
+ EmulationMenuSettings.showFps = it.isChecked
+ updateShowFpsOverlay()
+ true
+ }
+
R.id.menu_edit_overlay -> {
binding.drawerLayout.close()
binding.surfaceInputOverlay.requestFocus()
startConfiguringControls()
true
}
+
R.id.menu_toggle_controls -> {
val preferences =
PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext)
@@ -276,32 +289,38 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
}
true
}
+
R.id.menu_show_overlay -> {
it.isChecked = !it.isChecked
EmulationMenuSettings.showOverlay = it.isChecked
refreshInputOverlay()
true
}
+
R.id.menu_rel_stick_center -> {
it.isChecked = !it.isChecked
EmulationMenuSettings.joystickRelCenter = it.isChecked
true
}
+
R.id.menu_dpad_slide -> {
it.isChecked = !it.isChecked
EmulationMenuSettings.dpadSlide = it.isChecked
true
}
+
R.id.menu_haptics -> {
it.isChecked = !it.isChecked
EmulationMenuSettings.hapticFeedback = it.isChecked
true
}
+
R.id.menu_reset_overlay -> {
binding.drawerLayout.close()
resetInputOverlay()
true
}
+
else -> true
}
}
@@ -333,12 +352,14 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
right = cutInsets.right
}
- // Don't use padding if the navigation bar isn't in the way
- if (InsetsHelper.getBottomPaddingRequired(requireActivity()) > 0) {
- v.setPadding(left, cutInsets.top, right, 0)
- } else {
- v.setPadding(left, cutInsets.top, right, 0)
- }
+ v.setPadding(left, cutInsets.top, right, 0)
+
+ binding.showFpsText.setPadding(
+ cutInsets.left,
+ cutInsets.top,
+ cutInsets.right,
+ cutInsets.bottom
+ )
windowInsets
}
}
@@ -431,6 +452,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
NativeLibrary.surfaceDestroyed()
state = State.PAUSED
}
+
State.PAUSED -> Log.warning("[EmulationFragment] Surface cleared while emulation paused.")
else -> Log.warning("[EmulationFragment] Surface cleared while emulation stopped.")
}
@@ -448,11 +470,13 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
}, "NativeEmulation")
mEmulationThread.start()
}
+
State.PAUSED -> {
Log.debug("[EmulationFragment] Resuming emulation.")
NativeLibrary.surfaceChanged(surface)
NativeLibrary.unPauseEmulation()
}
+
else -> Log.debug("[EmulationFragment] Bug, run called while already running.")
}
state = State.RUNNING