Default snooze behavior
When you tap the snooze button on an alarm:- The alarm sound and vibration stop immediately
- A notification appears showing when the alarm will ring again
- The alarm will ring again after the configured snooze duration (10 minutes by default)
- You can snooze multiple times if needed
Snooze can be disabled entirely by setting the snooze duration to -1 in settings. When disabled, only the dismiss button will appear on the alarm screen.
Configuring snooze
Global snooze duration
Preference key:snooze_durationDefault value: 10 minutes
Snooze to specific time
Instead of using the default snooze duration, you can snooze to a specific time:- When an alarm is ringing, long-press the snooze button
- A time picker appears
- Select the exact time you want the alarm to ring again
- The alarm will ring at that specific time
Snooze picker behavior
Snooze picker behavior
When you open the snooze time picker:
- The alarm is muted for the first 10 seconds while you pick a time
- This prevents the alarm from playing loudly while you’re selecting a time
- The muting happens automatically when the picker opens
Snooze with pre-alarm
Pre-alarm and snooze interact in specific ways:Snoozing a pre-alarm
- Regular snooze: The pre-alarm snoozes and will ring again after the snooze duration
- Snooze to time: The alarm transitions to the regular snoozed state (skipping pre-alarm snoozed state)
Snoozing the main alarm
When you snooze a main alarm after a pre-alarm has already played:- The next snooze will be a regular alarm (not a pre-alarm)
- Pre-alarm only plays before the originally scheduled time
If a pre-alarm is snoozed, the main alarm will still fire at its originally scheduled time if you don’t acknowledge the snoozed pre-alarm.
Snooze notifications
When an alarm is snoozed:Notification appears
Shows the alarm label and the time it will ring again
Reschedule option
Tap the notification to reschedule the snooze time
Cancel option
Dismiss the notification to cancel the snoozed alarm
Time display
Shows formatted time string: “Alarm snoozed until [time]“
Multiple snoozes
You can snooze an alarm as many times as you want:- Each snooze resets the timer
- The alarm state remains “snoozed” between snooze activations
- Snoozing a snoozed alarm simply reschedules it
- You can mix regular snooze and snooze-to-time
Snooze state management
Snooze state management
Internally, snoozed alarms maintain their state:
- The alarm transitions to
SnoozedStatewhen snoozed (source: AlarmCore.kt:551) - Re-snoozing simply updates the next fire time
- The alarm remains enabled but in a snoozed state
- Snooze survives app restarts and reboots
Snooze and repeating alarms
For repeating alarms:- Snoozing delays only the current occurrence
- After dismissing (not snoozing), the alarm reschedules for the next day/week
- Snoozed alarms can be rescheduled while in snoozed state
Technical details
Snooze calculation
The next snooze time is calculated as:Snooze events
SnoozedEvent: Fired when an alarm is snoozed (source: AlertService.kt:49)CancelSnoozedEvent: Fired when a snoozed alarm is cancelled (source: AlertService.kt:59)
Intent actions
ACTION_SNOOZE: Snooze the alarm (source: Intents.kt:30)ACTION_CANCEL_SNOOZE: Cancel a snoozed alarm