mirror of
https://github.com/FossifyOrg/Clock.git
synced 2026-06-12 00:08:54 -04:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user