Skip to content

Commit ea2479a

Browse files
committed
Potentially fix endless loop crash by passing just processed event to scheduler
1 parent 7e54317 commit ea2479a

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

app/src/main/java/com/futsch1/medtimer/reminders/ReminderNotificationProcessor.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ class ReminderNotificationProcessor(
3838
}
3939
r = true
4040

41-
ScheduleNextReminderNotificationProcessor(reminderContext).scheduleNextReminder()
41+
val processedEvents = reminderNotification.reminderNotificationParts.map { it.reminderEvent }
42+
ScheduleNextReminderNotificationProcessor(reminderContext).scheduleNextReminder(processedEvents)
4243
}
4344

4445
return r

app/src/main/java/com/futsch1/medtimer/reminders/ScheduleNextReminderNotificationProcessor.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ import com.futsch1.medtimer.reminders.scheduling.ScheduledReminder
2626
class ScheduleNextReminderNotificationProcessor(val reminderContext: ReminderContext) {
2727
val alarmSetter = AlarmProcessor(reminderContext)
2828

29-
fun scheduleNextReminder() {
29+
fun scheduleNextReminder(processedEvents: List<ReminderEvent> = emptyList()) {
3030
val fullMedicines = reminderContext.medicineRepository.medicines
3131
val reminderEvents = reminderContext.medicineRepository.getReminderEventsForScheduling(fullMedicines)
32+
val allEvents = (reminderEvents + processedEvents).distinctBy { it.reminderEventId }
3233

33-
scheduleNextReminderInternal(fullMedicines, reminderEvents)
34+
scheduleNextReminderInternal(fullMedicines, allEvents)
3435
}
3536

3637
private fun scheduleNextReminderInternal(

0 commit comments

Comments
 (0)