Always clear expired alarms

Same issue as 7d35b0413c.

Original code relied on the scheduled alarms returned by the system as a filter but the updated code by https://github.com/SimpleMobileTools/Simple-Clock/pull/469 clears/disables expired alarms when there are no enabled alarms which doesn't make much sense. One can not disable already disabled alarms
This commit is contained in:
Naveen Singh
2025-03-17 21:32:28 +05:30
parent 9ac0a4e1ac
commit 3b475642ce

View File

@@ -105,26 +105,8 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
}
}
}
context?.getEnabledAlarms { enabledAlarms ->
if (enabledAlarms.isNullOrEmpty()) {
val removedAlarms = mutableListOf<Alarm>()
alarms.forEach {
if (it.days == TODAY_BIT && it.isEnabled && it.timeInMinutes <= getCurrentDayMinutes()) {
it.isEnabled = false
ensureBackgroundThread {
if (it.oneShot) {
it.isEnabled = false
context?.dbHelper?.deleteAlarms(arrayListOf(it))
removedAlarms.add(it)
} else {
context?.dbHelper?.updateAlarmEnabledState(it.id, false)
}
}
}
}
alarms.removeAll(removedAlarms)
}
}
clearExpiredAlarms()
val currAdapter = binding.alarmsList.adapter
if (currAdapter == null) {
@@ -143,6 +125,25 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
}
}
private fun clearExpiredAlarms() {
val removedAlarms = mutableListOf<Alarm>()
alarms.forEach {
if (it.days == TODAY_BIT && it.isEnabled && it.timeInMinutes <= getCurrentDayMinutes()) {
it.isEnabled = false
ensureBackgroundThread {
if (it.oneShot) {
it.isEnabled = false
context?.dbHelper?.deleteAlarms(arrayListOf(it))
removedAlarms.add(it)
} else {
context?.dbHelper?.updateAlarmEnabledState(it.id, false)
}
}
}
}
alarms.removeAll(removedAlarms)
}
private fun openEditAlarm(alarm: Alarm) {
currentEditAlarmDialog = EditAlarmDialog(activity as SimpleActivity, alarm) {
alarm.id = it