File tree Expand file tree Collapse file tree
app/src/main/kotlin/org/fossify/clock Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ import org.fossify.clock.receivers.HideTimerReceiver
5959import org.fossify.clock.receivers.SkipUpcomingAlarmReceiver
6060import org.fossify.clock.receivers.StopAlarmReceiver
6161import org.fossify.clock.receivers.UpcomingAlarmReceiver
62+ import org.fossify.clock.services.AlarmService
6263import org.fossify.clock.services.SnoozeService
6364import org.fossify.commons.extensions.formatMinutesToTimeString
6465import org.fossify.commons.extensions.formatSecondsToTimeString
@@ -282,6 +283,14 @@ fun Context.cancelAlarmClock(alarm: Alarm) {
282283 alarmManager.cancel(getUpcomingAlarmPendingIntent(alarm))
283284}
284285
286+ fun Context.stopAlarmService (id : Int ) {
287+ val intent = Intent (this , AlarmService ::class .java).apply {
288+ action = AlarmService .ACTION_STOP_ALARM
289+ putExtra(ALARM_ID , id)
290+ }
291+ startService(intent)
292+ }
293+
285294fun Context.hideNotification (id : Int ) {
286295 notificationManager.cancel(id)
287296}
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import android.database.sqlite.SQLiteOpenHelper
99import android.text.TextUtils
1010import org.fossify.clock.extensions.cancelAlarmClock
1111import org.fossify.clock.extensions.createNewAlarm
12+ import org.fossify.clock.extensions.stopAlarmService
1213import org.fossify.clock.models.Alarm
1314import org.fossify.commons.extensions.getIntValue
1415import org.fossify.commons.extensions.getStringValue
@@ -100,8 +101,8 @@ class DBHelper private constructor(
100101 fun deleteAlarms (alarms : ArrayList <Alarm >) {
101102 alarms.filter { it.isEnabled }.forEach {
102103 context.cancelAlarmClock(it)
104+ context.stopAlarmService(it.id)
103105 }
104-
105106 val args = TextUtils .join(" , " , alarms.map { it.id.toString() })
106107 val selection = " $ALARMS_TABLE_NAME .$COL_ID IN ($args )"
107108 mDb.delete(ALARMS_TABLE_NAME , selection, null )
Original file line number Diff line number Diff line change @@ -60,14 +60,16 @@ class AlarmService : Service() {
6060 override fun onStartCommand (intent : Intent ? , flags : Int , startId : Int ): Int {
6161 val action = intent?.action ? : ACTION_START_ALARM
6262 val alarmId = intent?.getIntExtra(ALARM_ID , - 1 ) ? : - 1
63- val newAlarm = applicationContext.dbHelper.getAlarmWithId(alarmId)
64- if (alarmId == - 1 || newAlarm == null ) {
65- stopSelfIfIdle()
66- return START_NOT_STICKY
67- }
6863
6964 when (action) {
70- ACTION_START_ALARM -> startNewAlarm(newAlarm)
65+ ACTION_START_ALARM -> {
66+ val newAlarm = applicationContext.dbHelper.getAlarmWithId(alarmId)
67+ if (alarmId == - 1 || newAlarm == null ) {
68+ stopSelfIfIdle()
69+ return START_NOT_STICKY
70+ }
71+ startNewAlarm(newAlarm)
72+ }
7173 ACTION_STOP_ALARM -> stopActiveAlarm(alarmId)
7274 else -> throw IllegalArgumentException (" Unknown action: $action " )
7375 }
You can’t perform that action at this time.
0 commit comments