From dad2bd5c2936568534815accc7fbbef36c599626 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Fri, 9 Jan 2026 12:32:33 -0500 Subject: [PATCH] Introduce `MessageDeliveryListener` --- .../spam/MessageDeliveryListener.java | 20 +++++++++++++++++++ .../textsecuregcm/spam/SpamFilter.java | 7 +++++++ 2 files changed, 27 insertions(+) create mode 100644 service/src/main/java/org/whispersystems/textsecuregcm/spam/MessageDeliveryListener.java diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/spam/MessageDeliveryListener.java b/service/src/main/java/org/whispersystems/textsecuregcm/spam/MessageDeliveryListener.java new file mode 100644 index 000000000..b0c27027b --- /dev/null +++ b/service/src/main/java/org/whispersystems/textsecuregcm/spam/MessageDeliveryListener.java @@ -0,0 +1,20 @@ +/* + * Copyright 2026 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.whispersystems.textsecuregcm.spam; + +import org.whispersystems.textsecuregcm.storage.Account; + +public interface MessageDeliveryListener { + + void handleMessageDelivered(Account destinationAccount, + byte destinationDeviceId, + boolean ephemeral, + boolean urgent, + boolean story, + boolean sealedSender, + boolean multiRecipient, + boolean sync); +} diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamFilter.java b/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamFilter.java index 2995b3ded..c57aa772a 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamFilter.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/spam/SpamFilter.java @@ -46,6 +46,13 @@ public interface SpamFilter extends Managed { */ Collection> getCommands(); + /** + * Returns a message delivery listener controlled by the spam filter. + * + * @return a message delivery listener controlled by the spam filter + */ + MessageDeliveryListener getMessageDeliveryListener(); + /** * Return a reported message listener controlled by the spam filter. Listeners will be registered with the * {@link org.whispersystems.textsecuregcm.storage.ReportMessageManager}.