From e4e76794146c2b92b5d7c260ac84cd8595eec262 Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Sun, 2 Feb 2025 14:23:58 -0700 Subject: [PATCH] Fix: sleep timer gets stuck at 1 second --- .../audiobookshelf/app/managers/SleepTimerManager.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/com/audiobookshelf/app/managers/SleepTimerManager.kt b/android/app/src/main/java/com/audiobookshelf/app/managers/SleepTimerManager.kt index 98fbff47..c7b7aaa4 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/managers/SleepTimerManager.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/managers/SleepTimerManager.kt @@ -264,7 +264,7 @@ constructor(private val playerNotificationService: PlayerNotificationService) { } /** - * Gets the chapter end time for use in End of Chapter timers. If less than 2 seconds remain in + * Gets the chapter end time for use in End of Chapter timers. If less than 10 seconds remain in * the chapter, then use the next chapter. * @return Long? - the chapter end time in milliseconds, or null if there is no current session. */ @@ -335,6 +335,14 @@ constructor(private val playerNotificationService: PlayerNotificationService) { return } + // If timer was cleared by going negative on time, clear the sleep timer length so pressing + // play allows playback to continue without the sleep timer continuously setting for 1 second. + if (sleepTimerLength == 1000L) { + Log.d(tag, "Sleep timer cleared by manually subtracting time, clearing sleep timer") + sleepTimerFinishedAt = 0L + return + } + // Automatically rewind in the book if settings are enabled tryRewindAutoSleepTimer() @@ -466,7 +474,7 @@ constructor(private val playerNotificationService: PlayerNotificationService) { // Start an auto sleep timer val currentHour = currentCalendar.get(Calendar.HOUR_OF_DAY) val currentMin = currentCalendar.get(Calendar.MINUTE) - Log.i(tag, "Starting sleep timer at $currentHour:$currentMin") + Log.i(tag, "Starting auto sleep timer at $currentHour:$currentMin") // Automatically rewind in the book if settings is enabled tryRewindAutoSleepTimer()