|
|
|
@ -182,11 +182,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onDrawerOpened(drawerView: View) {
|
|
|
|
|
// No op
|
|
|
|
|
binding.drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onDrawerClosed(drawerView: View) {
|
|
|
|
|
// No op
|
|
|
|
|
binding.drawerLayout.setDrawerLockMode(IntSetting.LOCK_DRAWER.getInt())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onDrawerStateChanged(newState: Int) {
|
|
|
|
@ -196,6 +196,28 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|
|
|
|
binding.drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
|
|
|
|
|
binding.inGameMenu.getHeaderView(0).findViewById<TextView>(R.id.text_game_title).text =
|
|
|
|
|
game.title
|
|
|
|
|
|
|
|
|
|
binding.inGameMenu.menu.findItem(R.id.menu_lock_drawer).apply {
|
|
|
|
|
val lockMode = IntSetting.LOCK_DRAWER.getInt()
|
|
|
|
|
val titleId = if (lockMode == DrawerLayout.LOCK_MODE_LOCKED_CLOSED) {
|
|
|
|
|
R.string.unlock_drawer
|
|
|
|
|
} else {
|
|
|
|
|
R.string.lock_drawer
|
|
|
|
|
}
|
|
|
|
|
val iconId = if (lockMode == DrawerLayout.LOCK_MODE_UNLOCKED) {
|
|
|
|
|
R.drawable.ic_unlock
|
|
|
|
|
} else {
|
|
|
|
|
R.drawable.ic_lock
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
title = getString(titleId)
|
|
|
|
|
icon = ResourcesCompat.getDrawable(
|
|
|
|
|
resources,
|
|
|
|
|
iconId,
|
|
|
|
|
requireContext().theme
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
binding.inGameMenu.setNavigationItemSelectedListener {
|
|
|
|
|
when (it.itemId) {
|
|
|
|
|
R.id.menu_pause_emulation -> {
|
|
|
|
@ -242,6 +264,32 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|
|
|
|
true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
R.id.menu_lock_drawer -> {
|
|
|
|
|
when (IntSetting.LOCK_DRAWER.getInt()) {
|
|
|
|
|
DrawerLayout.LOCK_MODE_UNLOCKED -> {
|
|
|
|
|
IntSetting.LOCK_DRAWER.setInt(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
|
|
|
|
|
it.title = resources.getString(R.string.unlock_drawer)
|
|
|
|
|
it.icon = ResourcesCompat.getDrawable(
|
|
|
|
|
resources,
|
|
|
|
|
R.drawable.ic_lock,
|
|
|
|
|
requireContext().theme
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DrawerLayout.LOCK_MODE_LOCKED_CLOSED -> {
|
|
|
|
|
IntSetting.LOCK_DRAWER.setInt(DrawerLayout.LOCK_MODE_UNLOCKED)
|
|
|
|
|
it.title = resources.getString(R.string.lock_drawer)
|
|
|
|
|
it.icon = ResourcesCompat.getDrawable(
|
|
|
|
|
resources,
|
|
|
|
|
R.drawable.ic_unlock,
|
|
|
|
|
requireContext().theme
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
NativeConfig.saveGlobalConfig()
|
|
|
|
|
true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
R.id.menu_exit -> {
|
|
|
|
|
emulationState.stop()
|
|
|
|
|
emulationViewModel.setIsEmulationStopping(true)
|
|
|
|
@ -326,7 +374,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|
|
|
|
repeatOnLifecycle(Lifecycle.State.CREATED) {
|
|
|
|
|
emulationViewModel.emulationStarted.collectLatest {
|
|
|
|
|
if (it) {
|
|
|
|
|
binding.drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
|
|
|
|
|
binding.drawerLayout.setDrawerLockMode(IntSetting.LOCK_DRAWER.getInt())
|
|
|
|
|
ViewUtils.showView(binding.surfaceInputOverlay)
|
|
|
|
|
ViewUtils.hideView(binding.loadingIndicator)
|
|
|
|
|
|
|
|
|
|