Feat: Instantly update customization menu theme on selection

This commit is contained in:
cmclark00 2025-04-01 15:41:26 -04:00
parent 2e2cd92192
commit 2edac3138c

View file

@ -308,16 +308,25 @@ class MainActivity : AppCompatActivity(),
// Set up theme selector
themeSelector.onThemeSelected = { themeId: String ->
// Apply the new theme
// Apply the new theme globally
applyTheme(themeId)
// Provide haptic feedback as a cue that the theme changed
gameHaptics.vibrateForPieceLock()
// Refresh the pause menu to immediately show theme changes
if (binding.pauseContainer.visibility == View.VISIBLE) {
showPauseMenu()
}
// --- Re-apply theme to the currently visible Customization Menu ---
val themeColor = getThemeColor(themeId)
val backgroundColor = getThemeBackgroundColor(themeId)
binding.customizationContainer.setBackgroundColor(backgroundColor)
binding.customizationLevelBadge.setThemeColor(themeColor)
applyThemeColorToTextViews(binding.customizationContainer, themeColor)
// ------------------------------------------------------------------
// // Refreshing pause menu here is not needed for instant update of customization menu
// if (binding.pauseContainer.visibility == View.VISIBLE) {
// showPauseMenu()
// }
}
// Set up title screen
@ -719,6 +728,8 @@ class MainActivity : AppCompatActivity(),
private fun hideCustomizationMenu() {
binding.customizationContainer.visibility = View.GONE
binding.pauseContainer.visibility = View.VISIBLE
// Refresh the pause menu to apply theme changes
showPauseMenu()
}
/**