From 24c0c8f65689181cffce4f051d899803cf343d58 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 11 Jan 2020 11:21:42 +0300 Subject: [PATCH] Notification: ignore seen notifications --- .../java/com/keylesspalace/tusky/entity/Notification.kt | 8 +++++++- .../com/keylesspalace/tusky/util/NotificationHelper.java | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/entity/Notification.kt b/app/src/main/java/com/keylesspalace/tusky/entity/Notification.kt index d9459ea8..36e86336 100644 --- a/app/src/main/java/com/keylesspalace/tusky/entity/Notification.kt +++ b/app/src/main/java/com/keylesspalace/tusky/entity/Notification.kt @@ -16,13 +16,19 @@ package com.keylesspalace.tusky.entity import com.google.gson.* +import com.google.gson.annotations.SerializedName import com.google.gson.annotations.JsonAdapter +data class PleromaNotification( + @SerializedName("is_seen") val seen: Boolean +) + data class Notification( val type: Type, val id: String, val account: Account, - val status: Status?) { + val status: Status?, + val pleroma: PleromaNotification? = null) { @JsonAdapter(NotificationTypeAdapter::class) enum class Type(val presentation: String) { diff --git a/app/src/main/java/com/keylesspalace/tusky/util/NotificationHelper.java b/app/src/main/java/com/keylesspalace/tusky/util/NotificationHelper.java index 4e0d298d..682edc14 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/NotificationHelper.java +++ b/app/src/main/java/com/keylesspalace/tusky/util/NotificationHelper.java @@ -138,6 +138,11 @@ public class NotificationHelper { if (!filterNotification(account, body, context)) { return; } + + // Pleroma extension: don't notify about seen notifications + if (body.getPleroma() != null && body.getPleroma().getSeen()) { + return; + } String rawCurrentNotifications = account.getActiveNotifications(); JSONArray currentNotifications;