mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-13 17:51:57 +00:00
Don’t show task reminder if task is completed. Fixes #986
This commit is contained in:
parent
9dc2a79d17
commit
d26bd26753
1 changed files with 18 additions and 1 deletions
|
|
@ -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<String, Any>()
|
||||
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")
|
||||
|
|
|
|||
Loading…
Reference in a new issue