diff --git a/briar-api/src/net/sf/briar/api/db/event/GroupMessageAddedEvent.java b/briar-api/src/net/sf/briar/api/db/event/GroupMessageAddedEvent.java index acf9ca49bc4c39c3d16ad2cda5e832158a18d97e..0a66d81f4a21633585bee6abbbdc9af53897dfa9 100644 --- a/briar-api/src/net/sf/briar/api/db/event/GroupMessageAddedEvent.java +++ b/briar-api/src/net/sf/briar/api/db/event/GroupMessageAddedEvent.java @@ -1,20 +1,20 @@ package net.sf.briar.api.db.event; -import net.sf.briar.api.messaging.Message; +import net.sf.briar.api.messaging.GroupId; /** An event that is broadcast when a group message is added to the database. */ public class GroupMessageAddedEvent extends DatabaseEvent { - private final Message message; + private final GroupId groupId; private final boolean incoming; - public GroupMessageAddedEvent(Message message, boolean incoming) { - this.message = message; + public GroupMessageAddedEvent(GroupId groupId, boolean incoming) { + this.groupId = groupId; this.incoming = incoming; } - public Message getMessage() { - return message; + public GroupId getGroupId() { + return groupId; } public boolean isIncoming() { diff --git a/briar-api/src/net/sf/briar/api/db/event/PrivateMessageAddedEvent.java b/briar-api/src/net/sf/briar/api/db/event/PrivateMessageAddedEvent.java index 45bcd16bd38d875fb5ce5e587f619d90139a213f..1ce1dafd373d9e6de389d8f8a1d378829c5685e0 100644 --- a/briar-api/src/net/sf/briar/api/db/event/PrivateMessageAddedEvent.java +++ b/briar-api/src/net/sf/briar/api/db/event/PrivateMessageAddedEvent.java @@ -1,28 +1,20 @@ package net.sf.briar.api.db.event; import net.sf.briar.api.ContactId; -import net.sf.briar.api.messaging.Message; /** * An event that is broadcast when a private message is added to the database. */ public class PrivateMessageAddedEvent extends DatabaseEvent { - private final Message message; private final ContactId contactId; private final boolean incoming; - public PrivateMessageAddedEvent(Message message, ContactId contactId, - boolean incoming) { - this.message = message; + public PrivateMessageAddedEvent(ContactId contactId, boolean incoming) { this.contactId = contactId; this.incoming = incoming; } - public Message getMessage() { - return message; - } - public ContactId getContactId() { return contactId; } diff --git a/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java b/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java index 6fa43393b25f3843d9ac753a774230702f168ca0..ba7049d256f98637338dcd9150eeb889dfdc66ba 100644 --- a/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java +++ b/briar-core/src/net/sf/briar/db/DatabaseComponentImpl.java @@ -287,7 +287,10 @@ DatabaseCleaner.Callback { } finally { contactLock.readLock().unlock(); } - if(added) callListeners(new GroupMessageAddedEvent(m, false)); + if(added) { + GroupId g = m.getGroup().getId(); + callListeners(new GroupMessageAddedEvent(g, false)); + } } /** @@ -400,7 +403,7 @@ DatabaseCleaner.Callback { } finally { contactLock.readLock().unlock(); } - if(added) callListeners(new PrivateMessageAddedEvent(m, c, false)); + if(added) callListeners(new PrivateMessageAddedEvent(c, false)); } public void addSecrets(Collection<TemporarySecret> secrets) @@ -1352,9 +1355,9 @@ DatabaseCleaner.Callback { } callListeners(new MessageReceivedEvent(c)); if(added) { - if(m.getGroup() == null) - callListeners(new PrivateMessageAddedEvent(m, c, true)); - else callListeners(new GroupMessageAddedEvent(m, true)); + Group g = m.getGroup(); + if(g == null) callListeners(new PrivateMessageAddedEvent(c, true)); + else callListeners(new GroupMessageAddedEvent(g.getId(), true)); } }