Support auto play next up

This commit is contained in:
Damontecres 2025-10-06 14:04:36 -04:00
parent a963074f07
commit 73bb96adfb
No known key found for this signature in database
6 changed files with 144 additions and 23 deletions

View file

@ -200,6 +200,38 @@ sealed interface AppPreference<T> {
summaryOff = R.string.hide,
)
val AutoPlayNextUp =
AppSwitchPreference(
title = R.string.auto_play_next,
defaultValue = true,
getter = { it.playbackPreferences.autoPlayNext },
setter = { prefs, value ->
prefs.updatePlaybackPreferences { autoPlayNext = value }
},
summaryOn = R.string.enabled,
summaryOff = R.string.disabled,
)
val AutoPlayNextDelay =
AppSliderPreference(
title = R.string.auto_play_next_delay,
defaultValue = 15,
min = 0,
max = 60,
interval = 5,
getter = { it.playbackPreferences.autoPlayNextDelaySeconds },
setter = { prefs, value ->
prefs.updatePlaybackPreferences { autoPlayNextDelaySeconds = value }
},
summarizer = { value ->
if (value == 0L) {
"Immediate"
} else {
"$value seconds"
}
},
)
val InstalledVersion =
AppClickablePreference(
title = R.string.installed_version,
@ -256,6 +288,8 @@ val basicPreferences =
AppPreference.SkipForward,
AppPreference.SkipBack,
AppPreference.ControllerTimeout,
AppPreference.AutoPlayNextUp,
AppPreference.AutoPlayNextDelay,
AppPreference.PlaybackDebugInfo,
),
),

View file

@ -26,6 +26,9 @@ class AppPreferencesSerializer
controllerTimeoutMs = AppPreference.ControllerTimeout.defaultValue
seekBarSteps = AppPreference.SeekBarSteps.defaultValue.toInt()
showDebugInfo = AppPreference.PlaybackDebugInfo.defaultValue
autoPlayNext = AppPreference.AutoPlayNextUp.defaultValue
autoPlayNextDelaySeconds =
AppPreference.AutoPlayNextDelay.defaultValue
}.build()
homePagePreferences =
HomePagePreferences