Android behaviour change:
- #418 an alarm whose time passed while the device was off is discarded at boot
instead of ringing hours late, and reported as AlarmDropped/staleAtBoot.
Cutoff is AlarmSettings.androidStaleAfter, 15 minutes by default; null keeps
the old behaviour. Contributed by @samyak1409.
New API:
- Alarm.acknowledgeEvent and Alarm.init(acknowledgeEventsAutomatically: false),
so an app can hold a host event's marker until it has durably recorded it
(#429). Opt-in; automatic acknowledgement stays the default, because
Alarm.snoozed carries no handle to acknowledge with. Contributed by
@samyak1409.
Verified on a Pixel 8a: stale alarm discarded and reported through
Alarm.events, a non-stale one still ringing through the #424 boot-window
deferral, and an explicit null never discarding.