mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-06-05 22:19:17 +02:00
recheck alarm state after editing
This commit is contained in:
@ -73,6 +73,7 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
|
|||||||
private fun openEditAlarm(alarm: Alarm) {
|
private fun openEditAlarm(alarm: Alarm) {
|
||||||
EditAlarmDialog(activity as SimpleActivity, alarm) {
|
EditAlarmDialog(activity as SimpleActivity, alarm) {
|
||||||
setupAlarms()
|
setupAlarms()
|
||||||
|
checkAlarmState(alarm)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,14 +81,20 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
|
|||||||
if (context!!.dbHelper.updateAlarmEnabledState(id, isEnabled)) {
|
if (context!!.dbHelper.updateAlarmEnabledState(id, isEnabled)) {
|
||||||
val alarm = alarms.firstOrNull { it.id == id } ?: return
|
val alarm = alarms.firstOrNull { it.id == id } ?: return
|
||||||
alarm.isEnabled = isEnabled
|
alarm.isEnabled = isEnabled
|
||||||
if (isEnabled) {
|
checkAlarmState(alarm)
|
||||||
getClosestTriggerTimestamp(alarm)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
activity!!.toast(R.string.unknown_error_occurred)
|
activity!!.toast(R.string.unknown_error_occurred)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun checkAlarmState(alarm: Alarm) {
|
||||||
|
if (alarm.isEnabled) {
|
||||||
|
getClosestTriggerTimestamp(alarm)
|
||||||
|
} else {
|
||||||
|
cancelAlarmClock(alarm)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getClosestTriggerTimestamp(alarm: Alarm) {
|
private fun getClosestTriggerTimestamp(alarm: Alarm) {
|
||||||
val calendar = Calendar.getInstance()
|
val calendar = Calendar.getInstance()
|
||||||
calendar.firstDayOfWeek = Calendar.MONDAY
|
calendar.firstDayOfWeek = Calendar.MONDAY
|
||||||
@ -147,4 +154,9 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
|
|||||||
intent.putExtra(ALARM_ID, alarm.id)
|
intent.putExtra(ALARM_ID, alarm.id)
|
||||||
return PendingIntent.getBroadcast(context, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
return PendingIntent.getBroadcast(context, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun cancelAlarmClock(alarm: Alarm) {
|
||||||
|
val alarmManager = context!!.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||||
|
alarmManager.cancel(getPendingIntent(alarm))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user