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}.