|
|
@ -7,6 +7,7 @@ import com.todoroo.astrid.service.TaskCompleter
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
import kotlinx.coroutines.CoroutineScope
|
|
|
|
import kotlinx.coroutines.CoroutineScope
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
|
|
|
import org.tasks.data.dao.NotificationDao
|
|
|
|
import org.tasks.injection.ApplicationScope
|
|
|
|
import org.tasks.injection.ApplicationScope
|
|
|
|
import org.tasks.notifications.NotificationManager
|
|
|
|
import org.tasks.notifications.NotificationManager
|
|
|
|
import timber.log.Timber
|
|
|
|
import timber.log.Timber
|
|
|
@ -15,6 +16,7 @@ import javax.inject.Inject
|
|
|
|
@AndroidEntryPoint
|
|
|
|
@AndroidEntryPoint
|
|
|
|
class CompleteTaskReceiver : BroadcastReceiver() {
|
|
|
|
class CompleteTaskReceiver : BroadcastReceiver() {
|
|
|
|
@Inject lateinit var notificationManager: NotificationManager
|
|
|
|
@Inject lateinit var notificationManager: NotificationManager
|
|
|
|
|
|
|
|
@Inject lateinit var notificationDao: NotificationDao
|
|
|
|
@Inject lateinit var taskCompleter: TaskCompleter
|
|
|
|
@Inject lateinit var taskCompleter: TaskCompleter
|
|
|
|
@Inject @ApplicationScope lateinit var scope: CoroutineScope
|
|
|
|
@Inject @ApplicationScope lateinit var scope: CoroutineScope
|
|
|
|
|
|
|
|
|
|
|
@ -22,6 +24,10 @@ class CompleteTaskReceiver : BroadcastReceiver() {
|
|
|
|
val taskId = intent.getLongExtra(TASK_ID, 0)
|
|
|
|
val taskId = intent.getLongExtra(TASK_ID, 0)
|
|
|
|
Timber.i("Completing %s", taskId)
|
|
|
|
Timber.i("Completing %s", taskId)
|
|
|
|
scope.launch {
|
|
|
|
scope.launch {
|
|
|
|
|
|
|
|
if (!notificationDao.hasNotification(taskId)) {
|
|
|
|
|
|
|
|
Timber.e("No notification found for $taskId")
|
|
|
|
|
|
|
|
return@launch
|
|
|
|
|
|
|
|
}
|
|
|
|
notificationManager.cancel(taskId)
|
|
|
|
notificationManager.cancel(taskId)
|
|
|
|
taskCompleter.setComplete(taskId)
|
|
|
|
taskCompleter.setComplete(taskId)
|
|
|
|
}
|
|
|
|
}
|
|
|
|