From d26bd2675368874ed99106131a61f89113418688 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 8 Apr 2019 17:52:46 +0200 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20show=20task=20reminder=20if=20t?= =?UTF-8?q?ask=20is=20completed.=20Fixes=20#986?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../habitica/receivers/TaskReceiver.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.kt index 9b43b34c5..8344fc4c8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/receivers/TaskReceiver.kt @@ -12,11 +12,16 @@ import androidx.core.app.NotificationCompat import com.habitrpg.android.habitica.HabiticaApplication import com.habitrpg.android.habitica.HabiticaBaseApplication import com.habitrpg.android.habitica.R +import com.habitrpg.android.habitica.data.TagRepository +import com.habitrpg.android.habitica.data.TaskRepository import com.habitrpg.android.habitica.helpers.AmplitudeManager +import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.helpers.TaskAlarmManager import com.habitrpg.android.habitica.helpers.notifications.createOrUpdateHabiticaChannel import com.habitrpg.android.habitica.ui.activities.MainActivity +import io.reactivex.functions.Consumer import java.util.HashMap +import java.util.NoSuchElementException import javax.inject.Inject @@ -25,6 +30,9 @@ class TaskReceiver : BroadcastReceiver() { @Inject lateinit var taskAlarmManager: TaskAlarmManager + @Inject + lateinit var taskRepository: TaskRepository + override fun onReceive(context: Context, intent: Intent) { HabiticaBaseApplication.component?.inject(this) val extras = intent.extras @@ -36,6 +44,15 @@ class TaskReceiver : BroadcastReceiver() { taskAlarmManager.addAlarmForTaskId(taskId) } + try { + val task = taskRepository.getTask(taskId ?: "").blockingFirst() + + if (task.completed) { + return + } + } catch (e: NoSuchElementException) { + + } val additionalData = HashMap() additionalData["identifier"] = "task_reminder" AmplitudeManager.sendEvent("receive notification", AmplitudeManager.EVENT_CATEGORY_BEHAVIOUR, AmplitudeManager.EVENT_HITTYPE_EVENT, additionalData) @@ -44,7 +61,7 @@ class TaskReceiver : BroadcastReceiver() { } } - private fun createNotification(context: Context, taskTitle: String) { + private fun createNotification(context: Context, taskTitle: String?) { val intent = Intent(context, MainActivity::class.java) intent.putExtra("notificationIdentifier", "task_reminder")