From e3abff5ad80bcf175f5adb6571088ba7c8765cfc Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 30 Oct 2018 11:42:30 -0300 Subject: [PATCH] Refactor PrivateMessageHeader to ConversationMessageHeader base-class This is preparation for adding attachments to private messages --- .../briar/android/AndroidComponent.java | 2 +- .../android/contact/ContactListFragment.java | 2 +- .../android/contact/ConversationActivity.java | 21 ++++--- .../contact/ConversationNoticeInItem.java | 4 +- .../contact/ConversationNoticeOutItem.java | 8 +-- .../contact/ConversationRequestItem.java | 4 +- .../android/contact/ConversationVisitor.java | 5 +- .../introduction/ContactChooserFragment.java | 2 +- .../sharing/ShareBlogControllerImpl.java | 2 +- .../sharing/ShareForumControllerImpl.java | 2 +- .../briar/api/blog/BlogInvitationRequest.java | 4 +- .../api/blog/BlogInvitationResponse.java | 4 +- .../BlogInvitationRequestReceivedEvent.java | 8 +-- .../BlogInvitationResponseReceivedEvent.java | 4 +- .../ConversationManager.java | 7 ++- .../ConversationMessageHeader.java | 58 +++++++++++++++++++ .../ConversationMessageVisitor.java} | 5 +- .../ConversationRequest.java} | 8 ++- .../ConversationResponse.java} | 6 +- .../ConversationMessageReceivedEvent.java | 33 +++++++++++ .../api/forum/ForumInvitationRequest.java | 4 +- .../api/forum/ForumInvitationResponse.java | 4 +- .../ForumInvitationRequestReceivedEvent.java | 8 +-- .../ForumInvitationResponseReceivedEvent.java | 4 +- .../api/introduction/IntroductionManager.java | 2 +- .../api/introduction/IntroductionRequest.java | 8 +-- .../introduction/IntroductionResponse.java | 8 +-- .../IntroductionRequestReceivedEvent.java | 6 +- .../IntroductionResponseReceivedEvent.java | 4 +- .../briar/api/messaging/MessagingManager.java | 2 +- .../api/messaging/PrivateMessageHeader.java | 49 +++------------- .../event/PrivateMessageReceivedEvent.java | 22 ++----- .../GroupInvitationRequestReceivedEvent.java | 4 +- .../GroupInvitationResponseReceivedEvent.java | 4 +- .../invitation/GroupInvitationManager.java | 2 +- .../invitation/GroupInvitationRequest.java | 4 +- .../invitation/GroupInvitationResponse.java | 4 +- .../briar/api/sharing/InvitationRequest.java | 4 +- .../briar/api/sharing/InvitationResponse.java | 4 +- .../briar/api/sharing/SharingManager.java | 2 +- .../briar/client/ConversationClientImpl.java | 2 +- .../introduction/IntroductionManagerImpl.java | 8 +-- .../introduction/IntroductionModule.java | 2 +- .../messaging/ConversationManagerImpl.java | 8 +-- .../briar/messaging/MessagingManagerImpl.java | 11 ++-- .../briar/messaging/MessagingModule.java | 2 +- .../GroupInvitationManagerImpl.java | 6 +- .../invitation/GroupInvitationModule.java | 2 +- .../briar/sharing/BlogProtocolEngineImpl.java | 4 +- .../sharing/ForumProtocolEngineImpl.java | 4 +- .../briar/sharing/InvitationFactory.java | 4 +- .../briar/sharing/SharingManagerImpl.java | 12 ++-- .../briar/sharing/SharingModule.java | 2 +- .../IntroductionIntegrationTest.java | 27 ++++----- .../GroupInvitationIntegrationTest.java | 22 +++---- .../GroupInvitationManagerImplTest.java | 6 +- .../sharing/BlogSharingIntegrationTest.java | 24 ++++---- .../sharing/ForumSharingIntegrationTest.java | 19 +++--- briar-headless/README.md | 2 +- .../briar/headless/event/OutputEvent.kt | 4 +- .../messaging/MessagingControllerImpl.kt | 14 +++-- .../messaging/OutputPrivateMessage.kt | 6 +- .../messaging/OutputPrivateRequest.kt | 12 ++-- .../messaging/OutputPrivateResponse.kt | 8 +-- .../headless/event/WebSocketControllerTest.kt | 2 +- .../messaging/MessagingControllerImplTest.kt | 1 + 66 files changed, 310 insertions(+), 242 deletions(-) rename briar-api/src/main/java/org/briarproject/briar/api/{messaging => conversation}/ConversationManager.java (84%) create mode 100644 briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageHeader.java rename briar-api/src/main/java/org/briarproject/briar/api/{messaging/PrivateMessageVisitor.java => conversation/ConversationMessageVisitor.java} (87%) rename briar-api/src/main/java/org/briarproject/briar/api/{messaging/PrivateRequest.java => conversation/ConversationRequest.java} (82%) rename briar-api/src/main/java/org/briarproject/briar/api/{messaging/PrivateResponse.java => conversation/ConversationResponse.java} (77%) create mode 100644 briar-api/src/main/java/org/briarproject/briar/api/conversation/event/ConversationMessageReceivedEvent.java diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java index c70a13c8e..60b736a6b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java @@ -43,7 +43,7 @@ import org.briarproject.briar.api.feed.FeedManager; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumSharingManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.api.privategroup.GroupMessageFactory; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index fefbdeb61..d08bec390 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -36,7 +36,7 @@ import org.briarproject.briar.android.keyagreement.ContactExchangeActivity; import org.briarproject.briar.android.view.BriarRecyclerView; import org.briarproject.briar.api.android.AndroidNotificationManager; import org.briarproject.briar.api.client.MessageTracker.GroupCount; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java index 9f2a80bfe..c14751e0f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java @@ -63,15 +63,16 @@ import org.briarproject.briar.api.android.AndroidNotificationManager; import org.briarproject.briar.api.blog.BlogSharingManager; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.forum.ForumSharingManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.api.messaging.PrivateMessageHeader; -import org.briarproject.briar.api.messaging.PrivateRequest; -import org.briarproject.briar.api.messaging.PrivateResponse; +import org.briarproject.briar.api.conversation.ConversationRequest; +import org.briarproject.briar.api.conversation.ConversationResponse; import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager; @@ -326,7 +327,7 @@ public class ConversationActivity extends BriarActivity runOnDbThread(() -> { try { long start = now(); - Collection headers = + Collection headers = conversationManager.getMessageHeaders(contactId); logDuration(LOG, "Loading messages", start); displayMessages(revision, headers); @@ -339,7 +340,7 @@ public class ConversationActivity extends BriarActivity } private void displayMessages(int revision, - Collection headers) { + Collection headers) { runOnUiThreadUnlessDestroyed(() -> { if (revision == adapter.getRevision()) { adapter.incrementRevision(); @@ -363,9 +364,10 @@ public class ConversationActivity extends BriarActivity */ @SuppressWarnings("ConstantConditions") private List createItems( - Collection headers) { + Collection headers) { List items = new ArrayList<>(headers.size()); - for (PrivateMessageHeader h : headers) items.add(h.accept(visitor)); + for (ConversationMessageHeader h : headers) + items.add(h.accept(visitor)); return items; } @@ -449,9 +451,10 @@ public class ConversationActivity extends BriarActivity }); } - private void onNewPrivateMessage(PrivateMessageHeader h) { + private void onNewPrivateMessage(ConversationMessageHeader h) { runOnUiThreadUnlessDestroyed(() -> { - if (h instanceof PrivateRequest || h instanceof PrivateResponse) { + if (h instanceof ConversationRequest || + h instanceof ConversationResponse) { // contact name might not have been loaded observeOnce(viewModel.getContactDisplayName(), this, name -> addConversationItem(h.accept(visitor))); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInItem.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInItem.java index c28a97299..c8a5a10f1 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInItem.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.R; -import org.briarproject.briar.api.messaging.PrivateResponse; +import org.briarproject.briar.api.conversation.ConversationResponse; import javax.annotation.Nullable; import javax.annotation.concurrent.NotThreadSafe; @@ -24,7 +24,7 @@ class ConversationNoticeInItem extends ConversationItem { this.msgText = msgText; } - ConversationNoticeInItem(String text, PrivateResponse r) { + ConversationNoticeInItem(String text, ConversationResponse r) { super(r.getId(), r.getGroupId(), text, r.getTimestamp(), r.isRead()); this.msgText = null; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java index 63eb8e0fa..8275a13f5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java @@ -4,8 +4,8 @@ import android.support.annotation.LayoutRes; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; -import org.briarproject.briar.api.messaging.PrivateRequest; -import org.briarproject.briar.api.messaging.PrivateResponse; +import org.briarproject.briar.api.conversation.ConversationRequest; +import org.briarproject.briar.api.conversation.ConversationResponse; import javax.annotation.Nullable; import javax.annotation.concurrent.NotThreadSafe; @@ -17,13 +17,13 @@ class ConversationNoticeOutItem extends ConversationOutItem { @Nullable private final String msgText; - ConversationNoticeOutItem(String text, PrivateRequest r) { + ConversationNoticeOutItem(String text, ConversationRequest r) { super(r.getId(), r.getGroupId(), text, r.getTimestamp(), r.isSent(), r.isSeen()); this.msgText = r.getText(); } - ConversationNoticeOutItem(String text, PrivateResponse r) { + ConversationNoticeOutItem(String text, ConversationResponse r) { super(r.getId(), r.getGroupId(), text, r.getTimestamp(), r.isSent(), r.isSeen()); this.msgText = null; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java index cd0ce22ed..b426f1480 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.briar.R; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationRequest; import org.briarproject.briar.api.sharing.InvitationRequest; import org.briarproject.briar.api.sharing.Shareable; @@ -26,7 +26,7 @@ class ConversationRequestItem extends ConversationNoticeInItem { private final boolean canBeOpened; private boolean answered; - ConversationRequestItem(String text, RequestType type, PrivateRequest r) { + ConversationRequestItem(String text, RequestType type, ConversationRequest r) { super(r.getId(), r.getGroupId(), text, r.getText(), r.getTimestamp(), r.isRead()); this.requestType = type; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java index 717fee971..62f73cf43 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java @@ -14,7 +14,7 @@ import org.briarproject.briar.api.forum.ForumInvitationResponse; import org.briarproject.briar.api.introduction.IntroductionRequest; import org.briarproject.briar.api.introduction.IntroductionResponse; import org.briarproject.briar.api.messaging.PrivateMessageHeader; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse; @@ -28,7 +28,8 @@ import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; @UiThread @NotNullByDefault -class ConversationVisitor implements PrivateMessageVisitor { +class ConversationVisitor implements + ConversationMessageVisitor { private final Context ctx; private final TextCache textCache; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java index 4acfd0148..b1ae66018 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java @@ -20,7 +20,7 @@ import org.briarproject.briar.android.contact.ContactListItem; import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.view.BriarRecyclerView; import org.briarproject.briar.api.client.MessageTracker.GroupCount; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import java.util.ArrayList; import java.util.List; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java index c0d002e22..e00a09a43 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java @@ -14,7 +14,7 @@ import org.briarproject.bramble.api.system.Clock; import org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl; import org.briarproject.briar.android.controller.handler.ExceptionHandler; import org.briarproject.briar.api.blog.BlogSharingManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import java.util.Collection; import java.util.concurrent.Executor; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java index fad58360a..a2a4f308d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java @@ -14,7 +14,7 @@ import org.briarproject.bramble.api.system.Clock; import org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl; import org.briarproject.briar.android.controller.handler.ExceptionHandler; import org.briarproject.briar.api.forum.ForumSharingManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import java.util.Collection; import java.util.concurrent.Executor; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationRequest.java index a34b4de6d..c7b55fbfe 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationRequest.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.sharing.InvitationRequest; import javax.annotation.Nullable; @@ -21,7 +21,7 @@ public class BlogInvitationRequest extends InvitationRequest { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitBlogInvitationRequest(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java index b760b9ec9..e0761b0dc 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.sharing.InvitationResponse; @NotNullByDefault @@ -18,7 +18,7 @@ public class BlogInvitationResponse extends InvitationResponse { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitBlogInvitationResponse(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationRequestReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationRequestReceivedEvent.java index 699717407..9a6d6b8da 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationRequestReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationRequestReceivedEvent.java @@ -3,17 +3,17 @@ package org.briarproject.briar.api.blog.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.api.blog.Blog; -import org.briarproject.briar.api.messaging.PrivateRequest; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; +import org.briarproject.briar.api.conversation.ConversationRequest; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class BlogInvitationRequestReceivedEvent extends - PrivateMessageReceivedEvent> { + ConversationMessageReceivedEvent> { - public BlogInvitationRequestReceivedEvent(PrivateRequest request, + public BlogInvitationRequestReceivedEvent(ConversationRequest request, ContactId contactId) { super(request, contactId); } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationResponseReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationResponseReceivedEvent.java index 28df8444a..d7f5e4da7 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationResponseReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationResponseReceivedEvent.java @@ -3,14 +3,14 @@ package org.briarproject.briar.api.blog.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.api.blog.BlogInvitationResponse; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class BlogInvitationResponseReceivedEvent - extends PrivateMessageReceivedEvent { + extends ConversationMessageReceivedEvent { public BlogInvitationResponseReceivedEvent(BlogInvitationResponse response, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/ConversationManager.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationManager.java similarity index 84% rename from briar-api/src/main/java/org/briarproject/briar/api/messaging/ConversationManager.java rename to briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationManager.java index 4d3351418..a5698375f 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/ConversationManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationManager.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.messaging; +package org.briarproject.briar.api.conversation; import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.contact.ContactId; @@ -9,6 +9,7 @@ import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.MessageTracker.GroupCount; +import org.briarproject.briar.api.messaging.MessagingManager; import java.util.Collection; @@ -27,7 +28,7 @@ public interface ConversationManager { * Only {@link MessagingManager} returns only headers. * The others also return the message text. */ - Collection getMessageHeaders(ContactId c) + Collection getMessageHeaders(ContactId c) throws DbException; /** @@ -40,7 +41,7 @@ public interface ConversationManager { Group getContactGroup(Contact c); - Collection getMessageHeaders(Transaction txn, + Collection getMessageHeaders(Transaction txn, ContactId contactId) throws DbException; GroupCount getGroupCount(Transaction txn, ContactId c) diff --git a/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageHeader.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageHeader.java new file mode 100644 index 000000000..58d4c2d54 --- /dev/null +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageHeader.java @@ -0,0 +1,58 @@ +package org.briarproject.briar.api.conversation; + +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.bramble.api.sync.GroupId; +import org.briarproject.bramble.api.sync.MessageId; + +import javax.annotation.concurrent.Immutable; + +@Immutable +@NotNullByDefault +public abstract class ConversationMessageHeader { + + private final MessageId id; + private final GroupId groupId; + private final long timestamp; + private final boolean local, sent, seen, read; + + public ConversationMessageHeader(MessageId id, GroupId groupId, long timestamp, + boolean local, boolean read, boolean sent, boolean seen) { + this.id = id; + this.groupId = groupId; + this.timestamp = timestamp; + this.local = local; + this.sent = sent; + this.seen = seen; + this.read = read; + } + + public MessageId getId() { + return id; + } + + public GroupId getGroupId() { + return groupId; + } + + public long getTimestamp() { + return timestamp; + } + + public boolean isLocal() { + return local; + } + + public boolean isSent() { + return sent; + } + + public boolean isSeen() { + return seen; + } + + public boolean isRead() { + return read; + } + + public abstract T accept(ConversationMessageVisitor v); +} diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageVisitor.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageVisitor.java similarity index 87% rename from briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageVisitor.java rename to briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageVisitor.java index f16566930..4846088b6 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageVisitor.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageVisitor.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.messaging; +package org.briarproject.briar.api.conversation; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.api.blog.BlogInvitationRequest; @@ -7,11 +7,12 @@ import org.briarproject.briar.api.forum.ForumInvitationRequest; import org.briarproject.briar.api.forum.ForumInvitationResponse; import org.briarproject.briar.api.introduction.IntroductionRequest; import org.briarproject.briar.api.introduction.IntroductionResponse; +import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse; @NotNullByDefault -public interface PrivateMessageVisitor { +public interface ConversationMessageVisitor { T visitPrivateMessageHeader(PrivateMessageHeader h); diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationRequest.java similarity index 82% rename from briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateRequest.java rename to briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationRequest.java index ead57390b..8e43afaa0 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationRequest.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.messaging; +package org.briarproject.briar.api.conversation; import org.briarproject.bramble.api.Nameable; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; @@ -11,7 +11,8 @@ import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault -public class PrivateRequest extends PrivateMessageHeader { +public abstract class ConversationRequest + extends ConversationMessageHeader { private final SessionId sessionId; private final N nameable; @@ -19,7 +20,7 @@ public class PrivateRequest extends PrivateMessageHeader { private final String text; private final boolean answered; - public PrivateRequest(MessageId messageId, GroupId groupId, long time, + public ConversationRequest(MessageId messageId, GroupId groupId, long time, boolean local, boolean sent, boolean seen, boolean read, SessionId sessionId, N nameable, @Nullable String text, boolean answered) { @@ -50,4 +51,5 @@ public class PrivateRequest extends PrivateMessageHeader { public boolean wasAnswered() { return answered; } + } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationResponse.java similarity index 77% rename from briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateResponse.java rename to briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationResponse.java index 01c74faed..79dfb6ddf 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationResponse.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.api.messaging; +package org.briarproject.briar.api.conversation; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; @@ -9,12 +9,12 @@ import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault -public abstract class PrivateResponse extends PrivateMessageHeader { +public abstract class ConversationResponse extends ConversationMessageHeader { private final SessionId sessionId; private final boolean accepted; - public PrivateResponse(MessageId id, GroupId groupId, long time, + public ConversationResponse(MessageId id, GroupId groupId, long time, boolean local, boolean sent, boolean seen, boolean read, SessionId sessionId, boolean accepted) { super(id, groupId, time, local, sent, seen, read); diff --git a/briar-api/src/main/java/org/briarproject/briar/api/conversation/event/ConversationMessageReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/conversation/event/ConversationMessageReceivedEvent.java new file mode 100644 index 000000000..cee4a48ad --- /dev/null +++ b/briar-api/src/main/java/org/briarproject/briar/api/conversation/event/ConversationMessageReceivedEvent.java @@ -0,0 +1,33 @@ +package org.briarproject.briar.api.conversation.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.briar.api.conversation.ConversationMessageHeader; + +import javax.annotation.concurrent.Immutable; + +/** + * An event that is broadcast when a new conversation message is received. + */ +@Immutable +@NotNullByDefault +public class ConversationMessageReceivedEvent + extends Event { + + private final H messageHeader; + private final ContactId contactId; + + public ConversationMessageReceivedEvent(H messageHeader, ContactId contactId) { + this.messageHeader = messageHeader; + this.contactId = contactId; + } + + public H getMessageHeader() { + return messageHeader; + } + + public ContactId getContactId() { + return contactId; + } +} diff --git a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationRequest.java index ce2dea7f8..28c534bdc 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationRequest.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.sharing.InvitationRequest; import javax.annotation.Nullable; @@ -23,7 +23,7 @@ public class ForumInvitationRequest extends InvitationRequest { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitForumInvitationRequest(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java index 3cb26c700..7af450afa 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.sharing.InvitationResponse; import javax.annotation.concurrent.Immutable; @@ -21,7 +21,7 @@ public class ForumInvitationResponse extends InvitationResponse { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitForumInvitationResponse(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationRequestReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationRequestReceivedEvent.java index 673cdd2eb..85084858f 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationRequestReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationRequestReceivedEvent.java @@ -2,18 +2,18 @@ package org.briarproject.briar.api.forum.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.conversation.ConversationRequest; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.forum.Forum; -import org.briarproject.briar.api.messaging.PrivateRequest; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class ForumInvitationRequestReceivedEvent extends - PrivateMessageReceivedEvent> { + ConversationMessageReceivedEvent> { - public ForumInvitationRequestReceivedEvent(PrivateRequest request, + public ForumInvitationRequestReceivedEvent(ConversationRequest request, ContactId contactId) { super(request, contactId); } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationResponseReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationResponseReceivedEvent.java index 13d3081e8..5a99517bf 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationResponseReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationResponseReceivedEvent.java @@ -2,15 +2,15 @@ package org.briarproject.briar.api.forum.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.forum.ForumInvitationResponse; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class ForumInvitationResponseReceivedEvent extends - PrivateMessageReceivedEvent { + ConversationMessageReceivedEvent { public ForumInvitationResponseReceivedEvent( ForumInvitationResponse response, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionManager.java b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionManager.java index 0d0e4ef22..49994c4b7 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionManager.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.ConversationManager.ConversationClient; +import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; import javax.annotation.Nullable; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionRequest.java index 1bc2cd5cb..e070d520e 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionRequest.java @@ -6,15 +6,15 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationRequest; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault -public class IntroductionRequest extends PrivateRequest { +public class IntroductionRequest extends ConversationRequest { private final AuthorInfo authorInfo; @@ -37,7 +37,7 @@ public class IntroductionRequest extends PrivateRequest { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitIntroductionRequest(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionResponse.java index 960c55e4d..c87ae96c4 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionResponse.java @@ -6,8 +6,8 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; -import org.briarproject.briar.api.messaging.PrivateResponse; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationResponse; import javax.annotation.concurrent.Immutable; @@ -15,7 +15,7 @@ import static org.briarproject.briar.api.introduction.Role.INTRODUCER; @Immutable @NotNullByDefault -public class IntroductionResponse extends PrivateResponse { +public class IntroductionResponse extends ConversationResponse { private final Author introducedAuthor; private final AuthorInfo introducedAuthorInfo; @@ -45,7 +45,7 @@ public class IntroductionResponse extends PrivateResponse { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitIntroductionResponse(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionRequestReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionRequestReceivedEvent.java index a07a66cac..9d6e6c685 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionRequestReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionRequestReceivedEvent.java @@ -2,15 +2,15 @@ package org.briarproject.briar.api.introduction.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.introduction.IntroductionRequest; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault -public class IntroductionRequestReceivedEvent extends - PrivateMessageReceivedEvent { +public class IntroductionRequestReceivedEvent + extends ConversationMessageReceivedEvent { public IntroductionRequestReceivedEvent( IntroductionRequest introductionRequest, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionResponseReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionResponseReceivedEvent.java index d1aeb1495..cf205ca77 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionResponseReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionResponseReceivedEvent.java @@ -2,15 +2,15 @@ package org.briarproject.briar.api.introduction.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.introduction.IntroductionResponse; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class IntroductionResponseReceivedEvent extends - PrivateMessageReceivedEvent { + ConversationMessageReceivedEvent { public IntroductionResponseReceivedEvent( IntroductionResponse introductionResponse, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java index 65c2eacb0..a2f36f61f 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/MessagingManager.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.messaging.ConversationManager.ConversationClient; +import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; @NotNullByDefault public interface MessagingManager extends ConversationClient { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java index 3c5a16ed3..8de9edeec 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/PrivateMessageHeader.java @@ -3,58 +3,23 @@ package org.briarproject.briar.api.messaging; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault -public class PrivateMessageHeader { - - private final MessageId id; - private final GroupId groupId; - private final long timestamp; - private final boolean local, sent, seen, read; +public class PrivateMessageHeader extends ConversationMessageHeader { public PrivateMessageHeader(MessageId id, GroupId groupId, long timestamp, boolean local, boolean read, boolean sent, boolean seen) { - this.id = id; - this.groupId = groupId; - this.timestamp = timestamp; - this.local = local; - this.sent = sent; - this.seen = seen; - this.read = read; + super(id, groupId, timestamp, local, read, sent, seen); } - public MessageId getId() { - return id; - } - - public GroupId getGroupId() { - return groupId; - } - - public long getTimestamp() { - return timestamp; - } - - public boolean isLocal() { - return local; - } - - public boolean isSent() { - return sent; - } - - public boolean isSeen() { - return seen; - } - - public boolean isRead() { - return read; - } - - public T accept(PrivateMessageVisitor v) { + @Override + public T accept(ConversationMessageVisitor v) { return v.visitPrivateMessageHeader(this); } + } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/messaging/event/PrivateMessageReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/messaging/event/PrivateMessageReceivedEvent.java index 584bdfe31..32e2d3a56 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/messaging/event/PrivateMessageReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/messaging/event/PrivateMessageReceivedEvent.java @@ -1,8 +1,8 @@ package org.briarproject.briar.api.messaging.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.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import javax.annotation.concurrent.Immutable; @@ -12,22 +12,12 @@ import javax.annotation.concurrent.Immutable; */ @Immutable @NotNullByDefault -public class PrivateMessageReceivedEvent - extends Event { +public class PrivateMessageReceivedEvent + extends ConversationMessageReceivedEvent { - private final H messageHeader; - private final ContactId contactId; - - public PrivateMessageReceivedEvent(H messageHeader, ContactId contactId) { - this.messageHeader = messageHeader; - this.contactId = contactId; + public PrivateMessageReceivedEvent(PrivateMessageHeader messageHeader, + ContactId contactId) { + super(messageHeader, contactId); } - public H getMessageHeader() { - return messageHeader; - } - - public ContactId getContactId() { - return contactId; - } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationRequestReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationRequestReceivedEvent.java index 2edd5f022..71edf29fb 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationRequestReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationRequestReceivedEvent.java @@ -2,7 +2,7 @@ package org.briarproject.briar.api.privategroup.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest; import javax.annotation.concurrent.Immutable; @@ -10,7 +10,7 @@ import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class GroupInvitationRequestReceivedEvent extends - PrivateMessageReceivedEvent { + ConversationMessageReceivedEvent { public GroupInvitationRequestReceivedEvent(GroupInvitationRequest request, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationResponseReceivedEvent.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationResponseReceivedEvent.java index bc016a890..74619ffe8 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationResponseReceivedEvent.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/event/GroupInvitationResponseReceivedEvent.java @@ -2,7 +2,7 @@ package org.briarproject.briar.api.privategroup.event; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent; +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse; import javax.annotation.concurrent.Immutable; @@ -10,7 +10,7 @@ import javax.annotation.concurrent.Immutable; @Immutable @NotNullByDefault public class GroupInvitationResponseReceivedEvent - extends PrivateMessageReceivedEvent { + extends ConversationMessageReceivedEvent { public GroupInvitationResponseReceivedEvent( GroupInvitationResponse response, ContactId contactId) { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java index a7295bc76..b9f44e2bc 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java @@ -8,7 +8,7 @@ import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.ConversationManager.ConversationClient; +import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; import org.briarproject.briar.api.privategroup.PrivateGroup; import java.util.Collection; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationRequest.java index 6d3e5d578..0577fea41 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationRequest.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.privategroup.PrivateGroup; import org.briarproject.briar.api.sharing.InvitationRequest; @@ -24,7 +24,7 @@ public class GroupInvitationRequest extends InvitationRequest { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitGroupInvitationRequest(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationResponse.java index 776993b14..63c15bb62 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationResponse.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageVisitor; +import org.briarproject.briar.api.conversation.ConversationMessageVisitor; import org.briarproject.briar.api.sharing.InvitationResponse; import javax.annotation.concurrent.Immutable; @@ -21,7 +21,7 @@ public class GroupInvitationResponse extends InvitationResponse { } @Override - public T accept(PrivateMessageVisitor v) { + public T accept(ConversationMessageVisitor v) { return v.visitGroupInvitationResponse(this); } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationRequest.java b/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationRequest.java index 4da9acd78..391138ef4 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationRequest.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationRequest.java @@ -3,12 +3,12 @@ package org.briarproject.briar.api.sharing; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationRequest; import javax.annotation.Nullable; public abstract class InvitationRequest extends - PrivateRequest { + ConversationRequest { private final boolean canBeOpened; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationResponse.java b/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationResponse.java index 826c2b81f..94052fa97 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationResponse.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/sharing/InvitationResponse.java @@ -3,9 +3,9 @@ package org.briarproject.briar.api.sharing; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateResponse; +import org.briarproject.briar.api.conversation.ConversationResponse; -public abstract class InvitationResponse extends PrivateResponse { +public abstract class InvitationResponse extends ConversationResponse { private final GroupId shareableId; diff --git a/briar-api/src/main/java/org/briarproject/briar/api/sharing/SharingManager.java b/briar-api/src/main/java/org/briarproject/briar/api/sharing/SharingManager.java index 8b81a8b20..3e6adc2dc 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/sharing/SharingManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/sharing/SharingManager.java @@ -6,7 +6,7 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.ConversationManager.ConversationClient; +import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; import java.util.Collection; diff --git a/briar-core/src/main/java/org/briarproject/briar/client/ConversationClientImpl.java b/briar-core/src/main/java/org/briarproject/briar/client/ConversationClientImpl.java index 9e47fa3a3..ce52208f8 100644 --- a/briar-core/src/main/java/org/briarproject/briar/client/ConversationClientImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/client/ConversationClientImpl.java @@ -12,7 +12,7 @@ import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.MessageTracker.GroupCount; -import org.briarproject.briar.api.messaging.ConversationManager.ConversationClient; +import org.briarproject.briar.api.conversation.ConversationManager.ConversationClient; import javax.annotation.concurrent.Immutable; diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java index c05a8f616..5524c67eb 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionManagerImpl.java @@ -31,11 +31,11 @@ import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.introduction.IntroductionManager; import org.briarproject.briar.api.introduction.IntroductionRequest; import org.briarproject.briar.api.introduction.IntroductionResponse; import org.briarproject.briar.api.introduction.Role; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.client.ConversationClientImpl; import org.briarproject.briar.introduction.IntroducerSession.Introducee; @@ -401,15 +401,15 @@ class IntroductionManagerImpl extends ConversationClientImpl } @Override - public Collection getMessageHeaders(Transaction txn, - ContactId c) throws DbException { + public Collection getMessageHeaders( + Transaction txn, ContactId c) throws DbException { try { Contact contact = db.getContact(txn, c); GroupId contactGroupId = getContactGroup(contact).getId(); BdfDictionary query = messageParser.getMessagesVisibleInUiQuery(); Map results = clientHelper .getMessageMetadataAsDictionary(txn, contactGroupId, query); - List messages = + List messages = new ArrayList<>(results.size()); Map authorInfos = new HashMap<>(); for (Entry e : results.entrySet()) { diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java index 932de3408..832875643 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java @@ -8,7 +8,7 @@ import org.briarproject.bramble.api.sync.ValidationManager; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.briar.api.introduction.IntroductionManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/ConversationManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/messaging/ConversationManagerImpl.java index 9499ccad6..7d0d04a9d 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/ConversationManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/ConversationManagerImpl.java @@ -6,8 +6,8 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.Transaction; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.api.client.MessageTracker.GroupCount; -import org.briarproject.briar.api.messaging.ConversationManager; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; +import org.briarproject.briar.api.conversation.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import java.util.ArrayList; import java.util.Collection; @@ -38,9 +38,9 @@ class ConversationManagerImpl implements ConversationManager { } @Override - public Collection getMessageHeaders(ContactId c) + public Collection getMessageHeaders(ContactId c) throws DbException { - List messages = new ArrayList<>(); + List messages = new ArrayList<>(); Transaction txn = db.startTransaction(true); try { for (ConversationClient client : clients) { diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java index a2d10005a..7b73bfbf6 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingManagerImpl.java @@ -23,6 +23,7 @@ import org.briarproject.bramble.api.sync.MessageStatus; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; import org.briarproject.briar.api.client.MessageTracker; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageHeader; @@ -116,8 +117,8 @@ class MessagingManagerImpl extends ConversationClientImpl PrivateMessageHeader header = new PrivateMessageHeader( m.getId(), groupId, timestamp, local, read, false, false); ContactId contactId = getContactId(txn, groupId); - PrivateMessageReceivedEvent event = - new PrivateMessageReceivedEvent<>(header, contactId); + PrivateMessageReceivedEvent event = + new PrivateMessageReceivedEvent(header, contactId); txn.attach(event); messageTracker.trackIncomingMessage(txn, m); @@ -178,8 +179,8 @@ class MessagingManagerImpl extends ConversationClientImpl } @Override - public Collection getMessageHeaders(Transaction txn, - ContactId c) throws DbException { + public Collection getMessageHeaders( + Transaction txn, ContactId c) throws DbException { Map metadata; Collection statuses; GroupId g; @@ -190,7 +191,7 @@ class MessagingManagerImpl extends ConversationClientImpl } catch (FormatException e) { throw new DbException(e); } - Collection headers = new ArrayList<>(); + Collection headers = new ArrayList<>(); for (MessageStatus s : statuses) { MessageId id = s.getMessageId(); BdfDictionary meta = metadata.get(id); diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java index 436fd190f..5067b56f2 100644 --- a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java @@ -7,7 +7,7 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.sync.ValidationManager; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.versioning.ClientVersioningManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageFactory; diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java index f6d8a010c..84d5dd499 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java @@ -26,7 +26,7 @@ import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.privategroup.PrivateGroup; import org.briarproject.briar.api.privategroup.PrivateGroupFactory; import org.briarproject.briar.api.privategroup.PrivateGroupManager; @@ -368,7 +368,7 @@ class GroupInvitationManagerImpl extends ConversationClientImpl } @Override - public Collection getMessageHeaders(Transaction txn, + public Collection getMessageHeaders(Transaction txn, ContactId c) throws DbException { try { Contact contact = db.getContact(txn, c); @@ -376,7 +376,7 @@ class GroupInvitationManagerImpl extends ConversationClientImpl BdfDictionary query = messageParser.getMessagesVisibleInUiQuery(); Map results = clientHelper .getMessageMetadataAsDictionary(txn, contactGroupId, query); - List messages = + List messages = new ArrayList<>(results.size()); for (Entry e : results.entrySet()) { MessageId m = e.getKey(); diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java index 9dc9c84ad..061e5a921 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java @@ -7,7 +7,7 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.sync.ValidationManager; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.versioning.ClientVersioningManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.privategroup.PrivateGroupFactory; import org.briarproject.briar.api.privategroup.PrivateGroupManager; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationFactory; diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java index 2ebaf2a10..d9454f0b8 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/BlogProtocolEngineImpl.java @@ -18,7 +18,7 @@ import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.event.BlogInvitationRequestReceivedEvent; import org.briarproject.briar.api.blog.event.BlogInvitationResponseReceivedEvent; import org.briarproject.briar.api.client.MessageTracker; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationRequest; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; @@ -50,7 +50,7 @@ class BlogProtocolEngineImpl extends ProtocolEngineImpl { @Override Event getInvitationRequestReceivedEvent(InviteMessage m, ContactId contactId, boolean available, boolean canBeOpened) { - PrivateRequest request = invitationFactory + ConversationRequest request = invitationFactory .createInvitationRequest(false, false, true, false, m, contactId, available, canBeOpened); return new BlogInvitationRequestReceivedEvent(request, contactId); diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java index f4b5b627f..192a9a550 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java @@ -18,7 +18,7 @@ import org.briarproject.briar.api.forum.ForumInvitationResponse; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.event.ForumInvitationRequestReceivedEvent; import org.briarproject.briar.api.forum.event.ForumInvitationResponseReceivedEvent; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationRequest; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; @@ -51,7 +51,7 @@ class ForumProtocolEngineImpl extends ProtocolEngineImpl { @Override Event getInvitationRequestReceivedEvent(InviteMessage m, ContactId contactId, boolean available, boolean canBeOpened) { - PrivateRequest request = invitationFactory + ConversationRequest request = invitationFactory .createInvitationRequest(false, false, true, false, m, contactId, available, canBeOpened); return new ForumInvitationRequestReceivedEvent(request, contactId); diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java b/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java index 086f44ae3..6c7287649 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/InvitationFactory.java @@ -3,13 +3,13 @@ package org.briarproject.briar.sharing; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationRequest; import org.briarproject.briar.api.sharing.InvitationResponse; import org.briarproject.briar.api.sharing.Shareable; public interface InvitationFactory { - PrivateRequest createInvitationRequest(boolean local, boolean sent, + ConversationRequest createInvitationRequest(boolean local, boolean sent, boolean seen, boolean read, InviteMessage m, ContactId c, boolean available, boolean canBeOpened); diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java index 2d638b9a8..38a45c5e5 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingManagerImpl.java @@ -26,8 +26,8 @@ import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.api.versioning.ClientVersioningManager.ClientVersioningHook; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; -import org.briarproject.briar.api.messaging.PrivateRequest; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; +import org.briarproject.briar.api.conversation.ConversationRequest; import org.briarproject.briar.api.sharing.InvitationResponse; import org.briarproject.briar.api.sharing.Shareable; import org.briarproject.briar.api.sharing.SharingInvitationItem; @@ -321,15 +321,15 @@ abstract class SharingManagerImpl } @Override - public Collection getMessageHeaders(Transaction txn, - ContactId c) throws DbException { + public Collection getMessageHeaders( + Transaction txn, ContactId c) throws DbException { try { Contact contact = db.getContact(txn, c); GroupId contactGroupId = getContactGroup(contact).getId(); BdfDictionary query = messageParser.getMessagesVisibleInUiQuery(); Map results = clientHelper .getMessageMetadataAsDictionary(txn, contactGroupId, query); - Collection messages = + Collection messages = new ArrayList<>(results.size()); for (Entry e : results.entrySet()) { MessageId m = e.getKey(); @@ -354,7 +354,7 @@ abstract class SharingManagerImpl } } - private PrivateRequest parseInvitationRequest(Transaction txn, + private ConversationRequest parseInvitationRequest(Transaction txn, ContactId c, MessageId m, MessageMetadata meta, MessageStatus status) throws DbException, FormatException { // Look up the invite message to get the details of the private group diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java index c5c1bacce..e290e19eb 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java @@ -17,7 +17,7 @@ import org.briarproject.briar.api.forum.ForumFactory; import org.briarproject.briar.api.forum.ForumInvitationResponse; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumSharingManager; -import org.briarproject.briar.api.messaging.ConversationManager; +import org.briarproject.briar.api.conversation.ConversationManager; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java index 917015f83..cd8b5553e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java @@ -24,6 +24,7 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.TestDatabaseModule; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.introduction.IntroductionManager; import org.briarproject.briar.api.introduction.IntroductionRequest; import org.briarproject.briar.api.introduction.IntroductionResponse; @@ -297,7 +298,7 @@ public class IntroductionIntegrationTest Group g1 = introductionManager0.getContactGroup(introducee1); Group g2 = introductionManager0.getContactGroup(introducee2); - Collection messages = + Collection messages = db0.transactionWithResult(true, txn -> introductionManager0 .getMessageHeaders(txn, contactId1From0)); assertEquals(2, messages.size()); @@ -363,7 +364,7 @@ public class IntroductionIntegrationTest assertFalse(contactManager2 .contactExists(author1.getId(), author2.getId())); - Collection messages = + Collection messages = db0.transactionWithResult(true, txn -> introductionManager0 .getMessageHeaders(txn, contactId1From0)); assertEquals(2, messages.size()); @@ -1102,31 +1103,31 @@ public class IntroductionIntegrationTest } private void assertDefaultUiMessages() throws DbException { - Collection messages = + Collection messages = db0.transactionWithResult(true, txn -> introductionManager0 .getMessageHeaders(txn, contactId1From0)); assertEquals(2, messages.size()); assertMessagesAreAcked(messages); - messages = db0.transactionWithResult(true, - txn -> introductionManager0.getMessageHeaders(txn, contactId2From0)); + messages = db0.transactionWithResult(true, txn -> introductionManager0 + .getMessageHeaders(txn, contactId2From0)); assertEquals(2, messages.size()); assertMessagesAreAcked(messages); - messages = db1.transactionWithResult(true, - txn -> introductionManager1.getMessageHeaders(txn, contactId0From1)); + messages = db1.transactionWithResult(true, txn -> introductionManager1 + .getMessageHeaders(txn, contactId0From1)); assertEquals(2, messages.size()); assertMessagesAreAcked(messages); - messages = db2.transactionWithResult(true, - txn -> introductionManager2.getMessageHeaders(txn, contactId0From2)); + messages = db2.transactionWithResult(true, txn -> introductionManager2 + .getMessageHeaders(txn, contactId0From2)); assertEquals(2, messages.size()); assertMessagesAreAcked(messages); } private void assertMessagesAreAcked( - Collection messages) { - for (PrivateMessageHeader msg : messages) { + Collection messages) { + for (ConversationMessageHeader msg : messages) { if (msg.isLocal()) assertTrue(msg.isSeen()); } } @@ -1302,9 +1303,9 @@ public class IntroductionIntegrationTest private IntroductionRequest getIntroductionRequest(DatabaseComponent db, IntroductionManager manager, ContactId contactId) throws DbException { - Collection messages = db.transactionWithResult( + Collection messages = db.transactionWithResult( true, txn -> manager.getMessageHeaders(txn, contactId)); - for (PrivateMessageHeader im : messages) { + for (ConversationMessageHeader im : messages) { if (im instanceof IntroductionRequest) { return (IntroductionRequest) im; } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java index c8c2e3b67..5ae3a17c2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java @@ -4,6 +4,7 @@ import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.test.TestDatabaseModule; import org.briarproject.briar.api.client.ProtocolStateException; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.privategroup.GroupMessage; import org.briarproject.briar.api.privategroup.PrivateGroup; @@ -91,7 +92,7 @@ public class GroupInvitationIntegrationTest assertEquals(privateGroup0.getName(), item.getName()); assertFalse(item.isSubscribed()); - Collection messages = + Collection messages = db1.transactionWithResult(true, txn -> groupInvitationManager1 .getMessageHeaders(txn, contactId0From1)); assertEquals(1, messages.size()); @@ -118,12 +119,12 @@ public class GroupInvitationIntegrationTest groupInvitationManager1 .respondToInvitation(contactId0From1, privateGroup0, false); - Collection messages = + Collection messages = db1.transactionWithResult(true, txn -> groupInvitationManager1 .getMessageHeaders(txn, contactId0From1)); assertEquals(2, messages.size()); boolean foundResponse = false; - for (PrivateMessageHeader m : messages) { + for (ConversationMessageHeader m : messages) { if (m instanceof GroupInvitationResponse) { foundResponse = true; GroupInvitationResponse response = (GroupInvitationResponse) m; @@ -140,7 +141,7 @@ public class GroupInvitationIntegrationTest .getMessageHeaders(txn, contactId1From0)); assertEquals(2, messages.size()); foundResponse = false; - for (PrivateMessageHeader m : messages) { + for (ConversationMessageHeader m : messages) { if (m instanceof GroupInvitationResponse) { foundResponse = true; GroupInvitationResponse response = (GroupInvitationResponse) m; @@ -168,12 +169,12 @@ public class GroupInvitationIntegrationTest groupInvitationManager1 .respondToInvitation(contactId0From1, privateGroup0, true); - Collection messages = + Collection messages = db1.transactionWithResult(true, txn -> groupInvitationManager1 .getMessageHeaders(txn, contactId0From1)); assertEquals(2, messages.size()); boolean foundResponse = false; - for (PrivateMessageHeader m : messages) { + for (ConversationMessageHeader m : messages) { if (m instanceof GroupInvitationResponse) { foundResponse = true; GroupInvitationResponse response = (GroupInvitationResponse) m; @@ -194,7 +195,7 @@ public class GroupInvitationIntegrationTest .getMessageHeaders(txn, contactId1From0)); assertEquals(2, messages.size()); foundResponse = false; - for (PrivateMessageHeader m : messages) { + for (ConversationMessageHeader m : messages) { if (m instanceof GroupInvitationResponse) { foundResponse = true; GroupInvitationResponse response = (GroupInvitationResponse) m; @@ -226,9 +227,10 @@ public class GroupInvitationIntegrationTest // 1 has one unread message Group g0 = groupInvitationManager1.getContactGroup(contact0From1); assertGroupCount(messageTracker1, g0.getId(), 1, 1, timestamp); - PrivateMessageHeader m = db1.transactionWithResult(true, - txn -> groupInvitationManager1.getMessageHeaders(txn, contactId0From1) - .iterator().next()); + ConversationMessageHeader m = db1.transactionWithResult(true, + txn -> groupInvitationManager1 + .getMessageHeaders(txn, contactId0From1).iterator() + .next()); groupInvitationManager1 .respondToInvitation(contactId0From1, privateGroup0, true); diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java index 801ec176d..920caea6c 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java @@ -24,7 +24,7 @@ import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.TestUtils; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.privategroup.PrivateGroup; import org.briarproject.briar.api.privategroup.PrivateGroupFactory; import org.briarproject.briar.api.privategroup.PrivateGroupManager; @@ -696,10 +696,10 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { oneOf(db).getMessageStatus(txn, contactId, messageId2); }}); - Collection messages = + Collection messages = groupInvitationManager.getMessageHeaders(txn, contactId); assertEquals(2, messages.size()); - for (PrivateMessageHeader m : messages) { + for (ConversationMessageHeader m : messages) { assertEquals(contactGroup.getId(), m.getGroupId()); if (m.getId().equals(message.getId())) { assertTrue(m instanceof GroupInvitationRequest); diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java index bcb6475e4..f372d3c98 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java @@ -18,7 +18,7 @@ import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogSharingManager; import org.briarproject.briar.api.blog.event.BlogInvitationRequestReceivedEvent; import org.briarproject.briar.api.blog.event.BlogInvitationResponseReceivedEvent; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.test.BriarIntegrationTest; import org.briarproject.briar.test.BriarIntegrationTestComponent; import org.briarproject.briar.test.DaggerBriarIntegrationTestComponent; @@ -146,12 +146,12 @@ public class BlogSharingIntegrationTest assertTrue(blogManager1.getBlogs().contains(blog2)); // invitee has one invitation message from sharer - Collection list = db1.transactionWithResult(true, - txn -> blogSharingManager1 + Collection list = + db1.transactionWithResult(true, txn -> blogSharingManager1 .getMessageHeaders(txn, contactId0From1)); assertEquals(2, list.size()); // check other things are alright with the message - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof BlogInvitationRequest) { BlogInvitationRequest invitation = (BlogInvitationRequest) m; assertEquals(blog2, invitation.getNameable()); @@ -220,11 +220,12 @@ public class BlogSharingIntegrationTest assertTrue(blogManager1.getBlogs().contains(rssBlog)); // invitee has one invitation message from sharer - Collection list = db1.transactionWithResult(true, - txn -> blogSharingManager1.getMessageHeaders(txn, contactId0From1)); + Collection list = + db1.transactionWithResult(true, txn -> blogSharingManager1 + .getMessageHeaders(txn, contactId0From1)); assertEquals(2, list.size()); // check other things are alright with the message - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof BlogInvitationRequest) { BlogInvitationRequest invitation = (BlogInvitationRequest) m; assertEquals(rssBlog, invitation.getNameable()); @@ -282,11 +283,12 @@ public class BlogSharingIntegrationTest assertEquals(0, blogSharingManager1.getInvitations().size()); // invitee has one invitation message from sharer and one response - Collection list = db1.transactionWithResult(true, - txn -> blogSharingManager1.getMessageHeaders(txn, contactId0From1)); + Collection list = + db1.transactionWithResult(true, txn -> blogSharingManager1 + .getMessageHeaders(txn, contactId0From1)); assertEquals(2, list.size()); // check things are alright with the message - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof BlogInvitationRequest) { BlogInvitationRequest invitation = (BlogInvitationRequest) m; assertEquals(blog2, invitation.getNameable()); @@ -389,7 +391,7 @@ public class BlogSharingIntegrationTest assertTrue(contacts.contains(contact0From1)); // make sure 1 knows that they have blog2 already - Collection messages = + Collection messages = db1.transactionWithResult(true, txn -> blogSharingManager1 .getMessageHeaders(txn, contactId0From1)); assertEquals(2, messages.size()); diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java index c4b20eceb..14da873be 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java @@ -12,6 +12,7 @@ import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.forum.Forum; import org.briarproject.briar.api.forum.ForumInvitationRequest; import org.briarproject.briar.api.forum.ForumInvitationResponse; @@ -129,11 +130,12 @@ public class ForumSharingIntegrationTest assertEquals(1, forumManager1.getForums().size()); // invitee has one invitation message from sharer - Collection list = db1.transactionWithResult(true, - txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1)); + Collection list = + db1.transactionWithResult(true, txn -> forumSharingManager1 + .getMessageHeaders(txn, contactId0From1)); assertEquals(2, list.size()); // check other things are alright with the forum message - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof ForumInvitationRequest) { ForumInvitationRequest invitation = (ForumInvitationRequest) m; assertTrue(invitation.wasAnswered()); @@ -185,11 +187,12 @@ public class ForumSharingIntegrationTest assertEquals(0, forumSharingManager1.getInvitations().size()); // invitee has one invitation message from sharer and one response - Collection list = db1.transactionWithResult(true, - txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1)); + Collection list = + db1.transactionWithResult(true, txn -> forumSharingManager1 + .getMessageHeaders(txn, contactId0From1)); assertEquals(2, list.size()); // check things are alright with the forum message - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof ForumInvitationRequest) { ForumInvitationRequest invitation = (ForumInvitationRequest) m; assertEquals(forum0, invitation.getNameable()); @@ -733,9 +736,9 @@ public class ForumSharingIntegrationTest // get invitation MessageId for later MessageId invitationId = null; - Collection list = db1.transactionWithResult(true, + Collection list = db1.transactionWithResult(true, txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1)); - for (PrivateMessageHeader m : list) { + for (ConversationMessageHeader m : list) { if (m instanceof ForumInvitationRequest) { invitationId = m.getId(); } diff --git a/briar-headless/README.md b/briar-headless/README.md index d35bcc98e..c4e1cdf60 100644 --- a/briar-headless/README.md +++ b/briar-headless/README.md @@ -195,7 +195,7 @@ it will send a JSON object to connected websocket clients: "timestamp": 1537389146088, "type": "PrivateMessage" }, - "name": "PrivateMessageReceivedEvent", + "name": "ConversationMessageReceivedEvent", "type": "event" } ``` diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/event/OutputEvent.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/event/OutputEvent.kt index cda92ebd1..aade73835 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/event/OutputEvent.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/event/OutputEvent.kt @@ -1,6 +1,6 @@ package org.briarproject.briar.headless.event -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent import org.briarproject.briar.headless.messaging.output import javax.annotation.concurrent.Immutable @@ -9,5 +9,5 @@ internal class OutputEvent(val name: String, val data: Any) { val type = "event" } -internal fun PrivateMessageReceivedEvent<*>.output(text: String) = +internal fun ConversationMessageReceivedEvent<*>.output(text: String) = messageHeader.output(contactId, text) diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/MessagingControllerImpl.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/MessagingControllerImpl.kt index 0521666f9..5d2ba863e 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/MessagingControllerImpl.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/MessagingControllerImpl.kt @@ -15,13 +15,17 @@ import org.briarproject.bramble.api.system.Clock import org.briarproject.bramble.util.StringUtils.utf8IsTooLong import org.briarproject.briar.api.blog.BlogInvitationRequest import org.briarproject.briar.api.blog.BlogInvitationResponse +import org.briarproject.briar.api.conversation.ConversationManager +import org.briarproject.briar.api.conversation.ConversationMessageVisitor +import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent import org.briarproject.briar.api.forum.ForumInvitationRequest import org.briarproject.briar.api.forum.ForumInvitationResponse import org.briarproject.briar.api.introduction.IntroductionRequest import org.briarproject.briar.api.introduction.IntroductionResponse -import org.briarproject.briar.api.messaging.* import org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH -import org.briarproject.briar.api.messaging.event.PrivateMessageReceivedEvent +import org.briarproject.briar.api.messaging.MessagingManager +import org.briarproject.briar.api.messaging.PrivateMessageFactory +import org.briarproject.briar.api.messaging.PrivateMessageHeader import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse import org.briarproject.briar.headless.event.WebSocketController @@ -34,7 +38,7 @@ import javax.annotation.concurrent.Immutable import javax.inject.Inject import javax.inject.Singleton -internal const val EVENT_PRIVATE_MESSAGE = "PrivateMessageReceivedEvent" +internal const val EVENT_PRIVATE_MESSAGE = "ConversationMessageReceivedEvent" @Immutable @Singleton @@ -77,7 +81,7 @@ constructor( override fun eventOccurred(e: Event) { when (e) { - is PrivateMessageReceivedEvent<*> -> dbExecutor.execute { + is ConversationMessageReceivedEvent<*> -> dbExecutor.execute { val text = messagingManager.getMessageText(e.messageHeader.id) webSocketController.sendEvent(EVENT_PRIVATE_MESSAGE, e.output(text)) } @@ -97,7 +101,7 @@ constructor( private class JsonVisitor( private val contactId: ContactId, private val messagingManager: MessagingManager -) : PrivateMessageVisitor { +) : ConversationMessageVisitor { override fun visitPrivateMessageHeader(h: PrivateMessageHeader) = h.output(contactId, messagingManager.getMessageText(h.id)) diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateMessage.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateMessage.kt index 65748015c..f4c3199a7 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateMessage.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateMessage.kt @@ -1,11 +1,11 @@ package org.briarproject.briar.headless.messaging import org.briarproject.bramble.api.contact.ContactId +import org.briarproject.briar.api.conversation.ConversationMessageHeader import org.briarproject.briar.api.messaging.PrivateMessage -import org.briarproject.briar.api.messaging.PrivateMessageHeader import org.briarproject.briar.headless.json.JsonDict -internal fun PrivateMessageHeader.output(contactId: ContactId) = JsonDict( +internal fun ConversationMessageHeader.output(contactId: ContactId) = JsonDict( "type" to "PrivateMessage", "contactId" to contactId.int, "timestamp" to timestamp, @@ -17,7 +17,7 @@ internal fun PrivateMessageHeader.output(contactId: ContactId) = JsonDict( "groupId" to groupId.bytes ) -internal fun PrivateMessageHeader.output(contactId: ContactId, text: String?): JsonDict { +internal fun ConversationMessageHeader.output(contactId: ContactId, text: String?): JsonDict { val dict = output(contactId) dict["text"] = text return dict diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateRequest.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateRequest.kt index d7762d52c..d0ad3bf9e 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateRequest.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateRequest.kt @@ -2,16 +2,16 @@ package org.briarproject.briar.headless.messaging import org.briarproject.bramble.api.contact.ContactId import org.briarproject.briar.api.blog.BlogInvitationRequest +import org.briarproject.briar.api.conversation.ConversationMessageHeader +import org.briarproject.briar.api.conversation.ConversationRequest import org.briarproject.briar.api.forum.ForumInvitationRequest import org.briarproject.briar.api.introduction.IntroductionRequest -import org.briarproject.briar.api.messaging.PrivateMessageHeader -import org.briarproject.briar.api.messaging.PrivateRequest import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest import org.briarproject.briar.api.sharing.InvitationRequest import org.briarproject.briar.headless.json.JsonDict -internal fun PrivateRequest<*>.output(contactId: ContactId): JsonDict { - val dict = (this as PrivateMessageHeader).output(contactId, text) +internal fun ConversationRequest<*>.output(contactId: ContactId): JsonDict { + val dict = (this as ConversationMessageHeader).output(contactId, text) dict.putAll( "sessionId" to sessionId.bytes, "name" to name, @@ -21,7 +21,7 @@ internal fun PrivateRequest<*>.output(contactId: ContactId): JsonDict { } internal fun IntroductionRequest.output(contactId: ContactId): JsonDict { - val dict = (this as PrivateRequest<*>).output(contactId) + val dict = (this as ConversationRequest<*>).output(contactId) dict.putAll( "type" to "IntroductionRequest", "alreadyContact" to isContact @@ -30,7 +30,7 @@ internal fun IntroductionRequest.output(contactId: ContactId): JsonDict { } internal fun InvitationRequest<*>.output(contactId: ContactId): JsonDict { - val dict = (this as PrivateRequest<*>).output(contactId) + val dict = (this as ConversationRequest<*>).output(contactId) dict["canBeOpened"] = canBeOpened() return dict } diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateResponse.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateResponse.kt index f0b3fbda3..a567b092a 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateResponse.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/messaging/OutputPrivateResponse.kt @@ -6,12 +6,12 @@ import org.briarproject.briar.api.blog.BlogInvitationResponse import org.briarproject.briar.api.forum.ForumInvitationResponse import org.briarproject.briar.api.introduction.IntroductionResponse import org.briarproject.briar.api.messaging.PrivateMessageHeader -import org.briarproject.briar.api.messaging.PrivateResponse +import org.briarproject.briar.api.conversation.ConversationResponse import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse import org.briarproject.briar.api.sharing.InvitationResponse import org.briarproject.briar.headless.json.JsonDict -internal fun PrivateResponse.output(contactId: ContactId): JsonDict { +internal fun ConversationResponse.output(contactId: ContactId): JsonDict { val dict = (this as PrivateMessageHeader).output(contactId) dict.putAll( "sessionId" to sessionId.bytes, @@ -21,7 +21,7 @@ internal fun PrivateResponse.output(contactId: ContactId): JsonDict { } internal fun IntroductionResponse.output(contactId: ContactId): JsonDict { - val dict = (this as PrivateResponse).output(contactId) + val dict = (this as ConversationResponse).output(contactId) dict.putAll( "type" to "IntroductionResponse", "introducedAuthor" to introducedAuthor.output(), @@ -31,7 +31,7 @@ internal fun IntroductionResponse.output(contactId: ContactId): JsonDict { } internal fun InvitationResponse.output(contactId: ContactId): JsonDict { - val dict = (this as PrivateResponse).output(contactId) + val dict = (this as ConversationResponse).output(contactId) dict["shareableId"] = shareableId.bytes return dict } diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/event/WebSocketControllerTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/event/WebSocketControllerTest.kt index 72c803bff..7e6d22803 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/event/WebSocketControllerTest.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/event/WebSocketControllerTest.kt @@ -65,7 +65,7 @@ internal class WebSocketControllerTest : ControllerTest() { val json = """ { "type": "event", - "name": "PrivateMessageReceivedEvent", + "name": "ConversationMessageReceivedEvent", "data": ${toJson(header.output(contact.id, text))} } """ diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/messaging/MessagingControllerImplTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/messaging/MessagingControllerImplTest.kt index 88e471598..89e0a89a2 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/messaging/MessagingControllerImplTest.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/messaging/MessagingControllerImplTest.kt @@ -14,6 +14,7 @@ import org.briarproject.bramble.test.ImmediateExecutor import org.briarproject.bramble.test.TestUtils.getRandomId import org.briarproject.bramble.util.StringUtils.getRandomString import org.briarproject.briar.api.client.SessionId +import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.api.introduction.IntroductionRequest import org.briarproject.briar.api.messaging.* import org.briarproject.briar.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_TEXT_LENGTH