When manually changing the alarm time, nextDue will provide the previously set upcoming alarm - however if the alarm was changed to a upcoming time today (and not before the current time) AND the previous alarm set for today already passed, we want to check if the alarm repeat/days includes today as well. If so - use today's date to schedule an alarm. If not, use nextDue
Alarms automatically rescheduled -> nextDue used.
A alarm that already passed today and is rescheduled for a upcoming time today -> Schedule for today (instead of using nextDue)
Update reschedule alarm to handle some use cases around user rescheduling alarm
When manually changing the alarm time, nextDue will provide the previously set upcoming alarm - however if the alarm was changed to a upcoming time today (and not before the current time) AND the previous alarm set for today already passed, we want to check if the alarm repeat/days includes today as well. If so - use today's date to schedule an alarm. If not, use nextDue
Alarms automatically rescheduled -> nextDue used. A alarm that already passed today and is rescheduled for a upcoming time today -> Schedule for today (instead of using nextDue)