From a57c784b47e08ba03a57b8b672ac56d885a675c2 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Tue, 16 Aug 2022 14:06:12 +0100 Subject: [PATCH] Add comments for group visibility. --- .../bramble/api/sync/event/MessageSharedEvent.java | 8 ++++++++ .../main/java/org/briarproject/bramble/db/Database.java | 7 +++++-- .../briarproject/bramble/mailbox/MailboxUploadWorker.java | 3 +++ .../briarproject/bramble/sync/DuplexOutgoingSession.java | 3 +++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/event/MessageSharedEvent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/event/MessageSharedEvent.java index 2d761187e..d7ef7d802 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/event/MessageSharedEvent.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/event/MessageSharedEvent.java @@ -3,6 +3,7 @@ package org.briarproject.bramble.api.sync.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.event.Event; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.bramble.api.sync.Group.Visibility; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; @@ -36,6 +37,13 @@ public class MessageSharedEvent extends Event { return groupId; } + /** + * Returns the IDs of all contacts for which the visibility of the + * message's group is either {@link Visibility#SHARED shared} or + * {@link Visibility#VISIBLE visible}. The value in the map is true if the + * group is {@link Visibility#SHARED shared} or false if the group is + * {@link Visibility#VISIBLE visible}. + */ public Map getGroupVisibility() { return groupVisibility; } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/Database.java index a8b660582..4522bf5e4 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/Database.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/Database.java @@ -352,8 +352,11 @@ interface Database { throws DbException; /** - * Returns the IDs of all contacts to which the given group's visibility is - * either {@link Visibility VISIBLE} or {@link Visibility SHARED}. + * Returns the IDs of all contacts for which the given group's visibility + * is either {@link Visibility#SHARED shared} or + * {@link Visibility#VISIBLE visible}. The value in the map is true if the + * group is {@link Visibility#SHARED shared} or false if the group is + * {@link Visibility#VISIBLE visible}. *

* Read-only. */ diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxUploadWorker.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxUploadWorker.java index 6e3a72451..582eb0959 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxUploadWorker.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxUploadWorker.java @@ -385,6 +385,9 @@ class MailboxUploadWorker implements MailboxWorker, ConnectivityObserver, } } else if (e instanceof MessageSharedEvent) { MessageSharedEvent m = (MessageSharedEvent) e; + // If the contact is present in the map (ie the value is not null) + // and the value is true, the message's group is shared with the + // contact and therefore the message may now be sendable if (m.getGroupVisibility().get(contactId) == TRUE) { LOG.info("Message shared"); onDataToSend(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java index c4dfe4daa..42a466e1e 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java @@ -235,6 +235,9 @@ class DuplexOutgoingSession implements SyncSession, EventListener { if (c.getContactId().equals(contactId)) interrupt(); } else if (e instanceof MessageSharedEvent) { MessageSharedEvent m = (MessageSharedEvent) e; + // If the contact is present in the map (ie the value is not null) + // and the value is true, the message's group is shared with the + // contact and therefore the message may now be sendable if (m.getGroupVisibility().get(contactId) == TRUE) { generateOffer(); }