Cancel expired notification when task is completed

This commit is contained in:
Naveen 2023-10-05 21:31:39 +05:30
parent 612ea73df5
commit a67c1c79db
No known key found for this signature in database
GPG Key ID: 0E155DAD31671DA3
2 changed files with 7 additions and 5 deletions

View File

@ -856,6 +856,12 @@ fun Context.updateTaskCompletion(event: Event, completed: Boolean) {
event.flags = event.flags.removeBit(FLAG_TASK_COMPLETED)
completedTasksDB.deleteTaskWithIdAndTs(event.id!!, event.startTS)
}
// remove existing notification (if any) and schedule a new one if needed
cancelPendingIntent(event.id!!)
cancelNotification(event.id!!)
scheduleNextEventReminder(event, showToasts = false)
// mark event as "incomplete" in the main events db
eventsDB.updateTaskCompletion(event.id!!, event.flags.removeBit(FLAG_TASK_COMPLETED))
}

View File

@ -2,8 +2,6 @@ package com.simplemobiletools.calendar.pro.services
import android.app.IntentService
import android.content.Intent
import com.simplemobiletools.calendar.pro.extensions.cancelNotification
import com.simplemobiletools.calendar.pro.extensions.cancelPendingIntent
import com.simplemobiletools.calendar.pro.extensions.eventsDB
import com.simplemobiletools.calendar.pro.extensions.updateTaskCompletion
import com.simplemobiletools.calendar.pro.helpers.ACTION_MARK_COMPLETED
@ -17,9 +15,7 @@ class MarkCompletedService : IntentService("MarkCompleted") {
val taskId = intent.getLongExtra(EVENT_ID, 0L)
val task = eventsDB.getTaskWithId(taskId)
if (task != null) {
updateTaskCompletion(task, true)
cancelPendingIntent(task.id!!)
cancelNotification(task.id!!)
updateTaskCompletion(task, completed = true)
}
}
}