Add preference for theme music

This commit is contained in:
Damontecres 2025-10-03 18:37:35 -04:00
parent f8efffa3c2
commit 6f18f780eb
No known key found for this signature in database
4 changed files with 30 additions and 0 deletions

View file

@ -175,6 +175,18 @@ sealed interface AppPreference<T> {
summaryOff = R.string.disabled,
)
val PlayThemeMusic =
AppSwitchPreference(
title = R.string.play_theme_music,
defaultValue = true,
getter = { it.interfacePreferences.playThemeSongs },
setter = { prefs, value ->
prefs.updateInterfacePreferences { playThemeSongs = value }
},
summaryOn = R.string.enabled,
summaryOff = R.string.disabled,
)
// val PlaybackDebugInfo =
// AppSwitchPreference(
// title = R.string.playback_debug_info,
@ -232,6 +244,7 @@ val basicPreferences =
AppPreference.SeekBarSteps,
AppPreference.HomePageItems,
AppPreference.RewatchNextUp,
AppPreference.PlayThemeMusic,
),
),
)

View file

@ -33,6 +33,12 @@ class AppPreferencesSerializer
maxItemsPerRow = AppPreference.HomePageItems.defaultValue.toInt()
enableRewatchingNextUp = AppPreference.RewatchNextUp.defaultValue
}.build()
interfacePreferences =
InterfacePreferences
.newBuilder()
.apply {
playThemeSongs = AppPreference.PlayThemeMusic.defaultValue
}.build()
}.build()
override suspend fun readFrom(input: InputStream): AppPreferences {
@ -60,3 +66,8 @@ inline fun AppPreferences.updateHomePagePreferences(block: HomePagePreferences.B
update {
homePagePreferences = homePagePreferences.toBuilder().apply(block).build()
}
inline fun AppPreferences.updateInterfacePreferences(block: InterfacePreferences.Builder.() -> Unit): AppPreferences =
update {
interfacePreferences = interfacePreferences.toBuilder().apply(block).build()
}