add custom recurrence to alarms through the newly added "Add advanced alarm" option - #556
Merged
Merged
Conversation
… start date, and end on a date or after a number of occurrences
…ields so they match the alarm group, and align them with the alarm name field
…ed field so it stops reading as a pill next to them
…the outlined fields use, since the button outline is a fainter variant
…s start date the way a monthly one does, and rename the monthly anchor since both units now share it
…onthly one does, instead of an ordinal that needs a translated word for every day of the month
…, rather than adding a version that only renames it afterwards
…tition covers a run of days rather than a single one
…der the fields that set them, and say so on the card when a repetition never lets an alarm ring
…ince no single field decides them on its own
…e its days with a plain hyphen
…petition stops ringing and when it comes back rather than when the alarm next rings
…hing the field beneath it
…since always still covers a week of a weekly repetition and a single day of the others
…he add button itself on the repeat switch the alarm editor always had
…back from the schedule, so an advanced alarm that happens to look simple still opens where it was made
…e control with a subordinate side, and keep the plus itself the square it was
…e editor reads an id and a choice of editor rather than the strings the arguments defaulted to
…hey already share, and move the chevron to the trailing side
RisPNG
force-pushed
the
alarm-custom-recurrence
branch
2 times, most recently
from
August 18, 2026 04:22
edabb81 to
24372e8
Compare
Collaborator
|
Im still testing it a little, looks very nice so far tho :) |
# Conflicts: # app/src/main/res/values/strings.xml
# Conflicts: # app/src/main/res/values-ar/strings.xml # app/src/main/res/values-bg/strings.xml # app/src/main/res/values-ca/strings.xml # app/src/main/res/values-fa/strings.xml # app/src/main/res/values-hi/strings.xml # app/src/main/res/values-ia/strings.xml # app/src/main/res/values-pl/strings.xml # app/src/main/res/values-pt/strings.xml # app/src/main/res/values-ro/strings.xml # app/src/main/res/values-vi/strings.xml # app/src/main/res/values-zh-rCN/strings.xml # app/src/main/res/values-zh-rTW/strings.xml
…g it does not park it at the end of each file where every new Weblate line lands
# Conflicts: # app/src/main/java/com/bnyro/clock/presentation/screens/alarmpicker/components/AlarmSettingsSheet.kt
Collaborator
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

this is... quite a big change. take your time auditing and testing things, as I am also doing the same, but I believe it's a good feature that'll make this app stands out from the rest, without really disturbing the normal clock functionality.
this adds an "Add advanced alarm" option in a small menu beside the alarm add button. pressing the add button normally still opens the current alarm editor with its Repeat switch and weekday selection, so the extra settings only appear when the user asks for them.
the advanced editor lets an alarm start on a date, repeat for a duration, repeat every number of days, weeks, months, or years, and end on a date or after a number of occurrences. monthly and yearly alarms can also follow either the date or weekday of their start date.
this is basically based on Google Calendar's "Custom recurrence" implementation, so the recurrence model isn't merely a concept but something that has already worked for many users. the main addition here is "Repeats for", which lets each repetition cover several days instead of only a single occurrence.
Example use case
this is particularly useful for someone working a six-day rotating shift: 2 morning shifts, 2 night shifts, then 2 days off.
only two alarms are needed:
the morning alarm rings today and tomorrow, followed by the night alarm for the next two days. neither rings during the two days off, then both return at the correct part of the next cycle. the user only has to set them once without moving the alarms around every week.
the same recurrence can also cover schedules such as every 3 days, weekdays every second week, or the 31st of every month while using the last day when the month is shorter.
underneath, occurrences are calculated from the start date and recurrence instead of the old repeat flag. finished schedules disable themselves after their last occurrence, while the database migration keeps existing repeating alarms as weekly repetitions and turns existing one-time alarms into schedules that end after one occurrence.
Related PRs
Solved, whichever order the other PR(s) are merged in shouldn't cause any conflicts.
Extra
Normal add alarm untouched when added normally through the plus button directly.
Example 1 of scheduled/advanced alarm.
Example 2 of scheduled/advanced alarm.