fix(alarms): refresh next execution reliably
Build & Deploy Pluriwave / Build APK + AAB release (push) Failing after 1m0s
Build & Deploy Pluriwave / Análisis de código (push) Successful in 23s

This commit is contained in:
2026-05-22 18:41:57 +02:00
parent eb185231a1
commit a48dd6ddf9
5 changed files with 50 additions and 8 deletions
@@ -47,7 +47,8 @@ class AlarmScheduler(private val context: Context) {
)
Log.d(tag, "alarm.schedule setAlarmClock OK id=$id")
if (preNoticeAtMillis > System.currentTimeMillis()) {
val now = System.currentTimeMillis()
if (preNoticeAtMillis > now) {
try {
alarmManager.setExactAndAllowWhileIdle(
AlarmManager.RTC_WAKEUP,
@@ -68,6 +69,15 @@ class AlarmScheduler(private val context: Context) {
// The main alarm is already scheduled with setAlarmClock.
Log.w(tag, "alarm.schedule preNotice SecurityException id=$id")
}
} else if (triggerAtMillis > now) {
context.sendBroadcast(
Intent(context, PluriWaveAlarmReceiver::class.java).apply {
action = PluriWaveAlarmReceiver.ACTION_PRE_NOTICE
putExtra(PluriWaveAlarmReceiver.EXTRA_ALARM_ID, id)
putExtra(PluriWaveAlarmReceiver.EXTRA_ALARM_TITLE, title)
}
)
Log.d(tag, "alarm.schedule preNotice immediate id=$id")
} else {
Log.d(tag, "alarm.schedule preNotice skipped id=$id")
}