fix: Don't play alarm sound when skip button is clicked

This commit is contained in:
Nishant Mishra
2025-09-08 19:07:47 +05:30
parent fd38d2768e
commit bec64cbdda
3 changed files with 8 additions and 6 deletions

View File

@@ -395,7 +395,7 @@ fun TimerScreen(
customItem( customItem(
{ {
FilledTonalIconButton( FilledTonalIconButton(
onClick = { onAction(TimerAction.SkipTimer) }, onClick = { onAction(TimerAction.SkipTimer(fromButton = true)) },
colors = IconButtonDefaults.filledTonalIconButtonColors( colors = IconButtonDefaults.filledTonalIconButtonColors(
containerColor = colorContainer containerColor = colorContainer
), ),
@@ -422,7 +422,7 @@ fun TimerScreen(
}, },
text = { Text("Skip to next") }, text = { Text("Skip to next") },
onClick = { onClick = {
onAction(TimerAction.SkipTimer) onAction(TimerAction.SkipTimer(fromButton = true))
state.dismiss() state.dismiss()
} }
) )

View File

@@ -8,8 +8,9 @@
package org.nsh07.pomodoro.ui.timerScreen.viewModel package org.nsh07.pomodoro.ui.timerScreen.viewModel
sealed interface TimerAction { sealed interface TimerAction {
data class SkipTimer(val fromButton: Boolean) : TimerAction
data object ResetTimer : TimerAction data object ResetTimer : TimerAction
data object SkipTimer : TimerAction
data object StopAlarm : TimerAction data object StopAlarm : TimerAction
data object ToggleTimer : TimerAction data object ToggleTimer : TimerAction
} }

View File

@@ -134,8 +134,9 @@ class TimerViewModel(
fun onAction(action: TimerAction) { fun onAction(action: TimerAction) {
when (action) { when (action) {
is TimerAction.SkipTimer -> skipTimer(action.fromButton)
TimerAction.ResetTimer -> resetTimer() TimerAction.ResetTimer -> resetTimer()
TimerAction.SkipTimer -> skipTimer()
TimerAction.StopAlarm -> stopAlarm() TimerAction.StopAlarm -> stopAlarm()
TimerAction.ToggleTimer -> toggleTimer() TimerAction.ToggleTimer -> toggleTimer()
} }
@@ -164,10 +165,10 @@ class TimerViewModel(
} }
} }
private fun skipTimer() { private fun skipTimer(fromButton: Boolean = false) {
viewModelScope.launch { viewModelScope.launch {
saveTimeToDb() saveTimeToDb()
showTimerNotification(0, paused = true, complete = true) showTimerNotification(0, paused = true, complete = !fromButton)
startTime = 0L startTime = 0L
pauseTime = 0L pauseTime = 0L
pauseDuration = 0L pauseDuration = 0L