From 0b78bf7833e3addd3e0603e908e00a2701d5fc51 Mon Sep 17 00:00:00 2001 From: cmclark00 Date: Mon, 31 Mar 2025 16:10:44 -0400 Subject: [PATCH] feat: add B button support for exiting customization menu --- app/src/main/java/com/mintris/MainActivity.kt | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/mintris/MainActivity.kt b/app/src/main/java/com/mintris/MainActivity.kt index 8eb5557..2427b0d 100644 --- a/app/src/main/java/com/mintris/MainActivity.kt +++ b/app/src/main/java/com/mintris/MainActivity.kt @@ -528,16 +528,23 @@ class MainActivity : AppCompatActivity(), binding.customizationContainer.visibility = View.VISIBLE binding.pauseContainer.visibility = View.GONE - // Update theme colors - val themeColors = ThemeManager.getThemeColors() - binding.customizationContainer.setBackgroundColor(themeColors.background) + // Get theme colors + val themeColor = getThemeColor(currentTheme) + val backgroundColor = getThemeBackgroundColor(currentTheme) + + // Apply background color to customization container + binding.customizationContainer.setBackgroundColor(backgroundColor) // Update level badge binding.customizationLevelBadge.setLevel(progressionManager.getPlayerLevel()) - binding.customizationLevelBadge.setThemeColor(themeColors.accent) + binding.customizationLevelBadge.setThemeColor(themeColor) - // Apply theme colors to text - binding.customizationTitle.setTextColor(themeColors.text.toInt()) + // Apply theme colors to text and buttons + binding.customizationTitle.setTextColor(themeColor) + binding.customizationBackButton.setTextColor(themeColor) + + // Apply theme colors to all text views in the container + applyThemeColorToTextViews(binding.customizationContainer, themeColor) // Update theme and block skin selectors binding.customizationThemeSelector.updateThemes( @@ -1204,7 +1211,7 @@ class MainActivity : AppCompatActivity(), // If not handled as gamepad, handle as regular key event // Handle back button - if (keyCode == KeyEvent.KEYCODE_BACK) { + if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_BUTTON_B) { // Handle back button press as a pause action during gameplay if (gameView.visibility == View.VISIBLE && !gameView.isPaused && !gameView.isGameOver()) { gameView.pause() @@ -1217,6 +1224,10 @@ class MainActivity : AppCompatActivity(), // If pause menu is showing, handle as a resume resumeGame() return true // Consume the event + } else if (binding.customizationContainer.visibility == View.VISIBLE) { + // If customization menu is showing, hide it + hideCustomizationMenu() + return true // Consume the event } else if (binding.gameOverContainer.visibility == View.VISIBLE) { // If game over is showing, go back to title hideGameOver() @@ -1259,7 +1270,10 @@ class MainActivity : AppCompatActivity(), */ override fun onPauseRequested() { runOnUiThread { - if (gameView.visibility == View.VISIBLE && !gameView.isPaused && !gameView.isGameOver()) { + if (binding.customizationContainer.visibility == View.VISIBLE) { + // If customization menu is showing, hide it + hideCustomizationMenu() + } else if (gameView.visibility == View.VISIBLE && !gameView.isPaused && !gameView.isGameOver()) { gameView.pause() gameMusic.pause() showPauseMenu()