Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
briar
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
578
Issues
578
List
Boards
Labels
Milestones
Merge Requests
8
Merge Requests
8
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
briar
briar
Commits
e3abff5a
Verified
Commit
e3abff5a
authored
Oct 30, 2018
by
Torsten Grote
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor PrivateMessageHeader to ConversationMessageHeader base-class
This is preparation for adding attachments to private messages
parent
391732b2
Changes
66
Hide whitespace changes
Inline
Side-by-side
Showing
66 changed files
with
310 additions
and
242 deletions
+310
-242
AndroidComponent.java
...java/org/briarproject/briar/android/AndroidComponent.java
+1
-1
ContactListFragment.java
...iarproject/briar/android/contact/ContactListFragment.java
+1
-1
ConversationActivity.java
...arproject/briar/android/contact/ConversationActivity.java
+12
-9
ConversationNoticeInItem.java
...oject/briar/android/contact/ConversationNoticeInItem.java
+2
-2
ConversationNoticeOutItem.java
...ject/briar/android/contact/ConversationNoticeOutItem.java
+4
-4
ConversationRequestItem.java
...roject/briar/android/contact/ConversationRequestItem.java
+2
-2
ConversationVisitor.java
...iarproject/briar/android/contact/ConversationVisitor.java
+3
-2
ContactChooserFragment.java
...ct/briar/android/introduction/ContactChooserFragment.java
+1
-1
ShareBlogControllerImpl.java
...roject/briar/android/sharing/ShareBlogControllerImpl.java
+1
-1
ShareForumControllerImpl.java
...oject/briar/android/sharing/ShareForumControllerImpl.java
+1
-1
BlogInvitationRequest.java
...rg/briarproject/briar/api/blog/BlogInvitationRequest.java
+2
-2
BlogInvitationResponse.java
...g/briarproject/briar/api/blog/BlogInvitationResponse.java
+2
-2
BlogInvitationRequestReceivedEvent.java
...ar/api/blog/event/BlogInvitationRequestReceivedEvent.java
+4
-4
BlogInvitationResponseReceivedEvent.java
...r/api/blog/event/BlogInvitationResponseReceivedEvent.java
+2
-2
ConversationManager.java
...arproject/briar/api/conversation/ConversationManager.java
+4
-3
ConversationMessageHeader.java
...ect/briar/api/conversation/ConversationMessageHeader.java
+58
-0
ConversationMessageVisitor.java
...ct/briar/api/conversation/ConversationMessageVisitor.java
+3
-2
ConversationRequest.java
...arproject/briar/api/conversation/ConversationRequest.java
+5
-3
ConversationResponse.java
...rproject/briar/api/conversation/ConversationResponse.java
+3
-3
ConversationMessageReceivedEvent.java
.../conversation/event/ConversationMessageReceivedEvent.java
+33
-0
ForumInvitationRequest.java
.../briarproject/briar/api/forum/ForumInvitationRequest.java
+2
-2
ForumInvitationResponse.java
...briarproject/briar/api/forum/ForumInvitationResponse.java
+2
-2
ForumInvitationRequestReceivedEvent.java
.../api/forum/event/ForumInvitationRequestReceivedEvent.java
+4
-4
ForumInvitationResponseReceivedEvent.java
...api/forum/event/ForumInvitationResponseReceivedEvent.java
+2
-2
IntroductionManager.java
...arproject/briar/api/introduction/IntroductionManager.java
+1
-1
IntroductionRequest.java
...arproject/briar/api/introduction/IntroductionRequest.java
+4
-4
IntroductionResponse.java
...rproject/briar/api/introduction/IntroductionResponse.java
+4
-4
IntroductionRequestReceivedEvent.java
.../introduction/event/IntroductionRequestReceivedEvent.java
+3
-3
IntroductionResponseReceivedEvent.java
...introduction/event/IntroductionResponseReceivedEvent.java
+2
-2
MessagingManager.java
...rg/briarproject/briar/api/messaging/MessagingManager.java
+1
-1
PrivateMessageHeader.java
...riarproject/briar/api/messaging/PrivateMessageHeader.java
+7
-42
PrivateMessageReceivedEvent.java
...riar/api/messaging/event/PrivateMessageReceivedEvent.java
+6
-16
GroupInvitationRequestReceivedEvent.java
...ivategroup/event/GroupInvitationRequestReceivedEvent.java
+2
-2
GroupInvitationResponseReceivedEvent.java
...vategroup/event/GroupInvitationResponseReceivedEvent.java
+2
-2
GroupInvitationManager.java
...r/api/privategroup/invitation/GroupInvitationManager.java
+1
-1
GroupInvitationRequest.java
...r/api/privategroup/invitation/GroupInvitationRequest.java
+2
-2
GroupInvitationResponse.java
.../api/privategroup/invitation/GroupInvitationResponse.java
+2
-2
InvitationRequest.java
...org/briarproject/briar/api/sharing/InvitationRequest.java
+2
-2
InvitationResponse.java
...rg/briarproject/briar/api/sharing/InvitationResponse.java
+2
-2
SharingManager.java
...va/org/briarproject/briar/api/sharing/SharingManager.java
+1
-1
ConversationClientImpl.java
...org/briarproject/briar/client/ConversationClientImpl.java
+1
-1
IntroductionManagerImpl.java
...arproject/briar/introduction/IntroductionManagerImpl.java
+4
-4
IntroductionModule.java
...g/briarproject/briar/introduction/IntroductionModule.java
+1
-1
ConversationManagerImpl.java
...briarproject/briar/messaging/ConversationManagerImpl.java
+4
-4
MessagingManagerImpl.java
...rg/briarproject/briar/messaging/MessagingManagerImpl.java
+6
-5
MessagingModule.java
...ava/org/briarproject/briar/messaging/MessagingModule.java
+1
-1
GroupInvitationManagerImpl.java
...r/privategroup/invitation/GroupInvitationManagerImpl.java
+3
-3
GroupInvitationModule.java
.../briar/privategroup/invitation/GroupInvitationModule.java
+1
-1
BlogProtocolEngineImpl.java
...rg/briarproject/briar/sharing/BlogProtocolEngineImpl.java
+2
-2
ForumProtocolEngineImpl.java
...g/briarproject/briar/sharing/ForumProtocolEngineImpl.java
+2
-2
InvitationFactory.java
...ava/org/briarproject/briar/sharing/InvitationFactory.java
+2
-2
SharingManagerImpl.java
...va/org/briarproject/briar/sharing/SharingManagerImpl.java
+6
-6
SharingModule.java
...in/java/org/briarproject/briar/sharing/SharingModule.java
+1
-1
IntroductionIntegrationTest.java
...oject/briar/introduction/IntroductionIntegrationTest.java
+14
-13
GroupInvitationIntegrationTest.java
...ivategroup/invitation/GroupInvitationIntegrationTest.java
+12
-10
GroupInvitationManagerImplTest.java
...ivategroup/invitation/GroupInvitationManagerImplTest.java
+3
-3
BlogSharingIntegrationTest.java
...riarproject/briar/sharing/BlogSharingIntegrationTest.java
+13
-11
ForumSharingIntegrationTest.java
...iarproject/briar/sharing/ForumSharingIntegrationTest.java
+11
-8
README.md
briar-headless/README.md
+1
-1
OutputEvent.kt
...java/org/briarproject/briar/headless/event/OutputEvent.kt
+2
-2
MessagingControllerImpl.kt
...oject/briar/headless/messaging/MessagingControllerImpl.kt
+9
-5
OutputPrivateMessage.kt
...rproject/briar/headless/messaging/OutputPrivateMessage.kt
+3
-3
OutputPrivateRequest.kt
...rproject/briar/headless/messaging/OutputPrivateRequest.kt
+6
-6
OutputPrivateResponse.kt
...project/briar/headless/messaging/OutputPrivateResponse.kt
+4
-4
WebSocketControllerTest.kt
...arproject/briar/headless/event/WebSocketControllerTest.kt
+1
-1
MessagingControllerImplTest.kt
...t/briar/headless/messaging/MessagingControllerImplTest.kt
+1
-0
No files found.
briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java
View file @
e3abff5a
...
...
@@ -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.Private
Request
;
import
org.briarproject.briar.api.
messaging.Private
Response
;
import
org.briarproject.briar.api.
conversation.Conversation
Request
;
import
org.briarproject.briar.api.
conversation.Conversation
Response
;
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
<
Private
MessageHeader
>
headers
=
Collection
<
Conversation
MessageHeader
>
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
<
Private
MessageHeader
>
headers
)
{
Collection
<
Conversation
MessageHeader
>
headers
)
{
runOnUiThreadUnlessDestroyed
(()
->
{
if
(
revision
==
adapter
.
getRevision
())
{
adapter
.
incrementRevision
();
...
...
@@ -363,9 +364,10 @@ public class ConversationActivity extends BriarActivity
*/
@SuppressWarnings
(
"ConstantConditions"
)
private
List
<
ConversationItem
>
createItems
(
Collection
<
Private
MessageHeader
>
headers
)
{
Collection
<
Conversation
MessageHeader
>
headers
)
{
List
<
ConversationItem
>
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
(
Private
MessageHeader
h
)
{
private
void
onNewPrivateMessage
(
Conversation
MessageHeader
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
)));
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInItem.java
View file @
e3abff5a
...
...
@@ -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.Private
Response
;
import
org.briarproject.briar.api.
conversation.Conversation
Response
;
import
javax.annotation.Nullable
;
import
javax.annotation.concurrent.NotThreadSafe
;
...
...
@@ -24,7 +24,7 @@ class ConversationNoticeInItem extends ConversationItem {
this
.
msgText
=
msgText
;
}
ConversationNoticeInItem
(
String
text
,
Private
Response
r
)
{
ConversationNoticeInItem
(
String
text
,
Conversation
Response
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
getTimestamp
(),
r
.
isRead
());
this
.
msgText
=
null
;
}
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java
View file @
e3abff5a
...
...
@@ -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.Private
Request
;
import
org.briarproject.briar.api.
messaging.Private
Response
;
import
org.briarproject.briar.api.
conversation.Conversation
Request
;
import
org.briarproject.briar.api.
conversation.Conversation
Response
;
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
,
Private
Request
r
)
{
ConversationNoticeOutItem
(
String
text
,
Conversation
Request
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
getTimestamp
(),
r
.
isSent
(),
r
.
isSeen
());
this
.
msgText
=
r
.
getText
();
}
ConversationNoticeOutItem
(
String
text
,
Private
Response
r
)
{
ConversationNoticeOutItem
(
String
text
,
Conversation
Response
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
getTimestamp
(),
r
.
isSent
(),
r
.
isSeen
());
this
.
msgText
=
null
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java
View file @
e3abff5a
...
...
@@ -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.Private
Request
;
import
org.briarproject.briar.api.
conversation.Conversation
Request
;
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
,
Private
Request
r
)
{
ConversationRequestItem
(
String
text
,
RequestType
type
,
Conversation
Request
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
getText
(),
r
.
getTimestamp
(),
r
.
isRead
());
this
.
requestType
=
type
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
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
<
ConversationItem
>
{
class
ConversationVisitor
implements
ConversationMessageVisitor
<
ConversationItem
>
{
private
final
Context
ctx
;
private
final
TextCache
textCache
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationRequest.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.sharing.InvitationRequest
;
import
javax.annotation.Nullable
;
...
...
@@ -21,7 +21,7 @@ public class BlogInvitationRequest extends InvitationRequest<Blog> {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitBlogInvitationRequest
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/blog/BlogInvitationResponse.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.sharing.InvitationResponse
;
@NotNullByDefault
...
...
@@ -18,7 +18,7 @@ public class BlogInvitationResponse extends InvitationResponse {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitBlogInvitationResponse
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationRequestReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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.Private
Request
;
import
org.briarproject.briar.api.
messaging.event.Private
MessageReceivedEvent
;
import
org.briarproject.briar.api.
conversation.Conversation
Request
;
import
org.briarproject.briar.api.
conversation.event.Conversation
MessageReceivedEvent
;
import
javax.annotation.concurrent.Immutable
;
@Immutable
@NotNullByDefault
public
class
BlogInvitationRequestReceivedEvent
extends
PrivateMessageReceivedEvent
<
Private
Request
<
Blog
>>
{
ConversationMessageReceivedEvent
<
Conversation
Request
<
Blog
>>
{
public
BlogInvitationRequestReceivedEvent
(
Private
Request
<
Blog
>
request
,
public
BlogInvitationRequestReceivedEvent
(
Conversation
Request
<
Blog
>
request
,
ContactId
contactId
)
{
super
(
request
,
contactId
);
}
...
...
briar-api/src/main/java/org/briarproject/briar/api/blog/event/BlogInvitationResponseReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageReceivedEvent
;
import
org.briarproject.briar.api.
conversation.event.Conversation
MessageReceivedEvent
;
import
javax.annotation.concurrent.Immutable
;
@Immutable
@NotNullByDefault
public
class
BlogInvitationResponseReceivedEvent
extends
Private
MessageReceivedEvent
<
BlogInvitationResponse
>
{
extends
Conversation
MessageReceivedEvent
<
BlogInvitationResponse
>
{
public
BlogInvitationResponseReceivedEvent
(
BlogInvitationResponse
response
,
ContactId
contactId
)
{
...
...
briar-api/src/main/java/org/briarproject/briar/api/
messaging
/ConversationManager.java
→
briar-api/src/main/java/org/briarproject/briar/api/
conversation
/ConversationManager.java
View file @
e3abff5a
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
<
Private
MessageHeader
>
getMessageHeaders
(
ContactId
c
)
Collection
<
Conversation
MessageHeader
>
getMessageHeaders
(
ContactId
c
)
throws
DbException
;
/**
...
...
@@ -40,7 +41,7 @@ public interface ConversationManager {
Group
getContactGroup
(
Contact
c
);
Collection
<
Private
MessageHeader
>
getMessageHeaders
(
Transaction
txn
,
Collection
<
Conversation
MessageHeader
>
getMessageHeaders
(
Transaction
txn
,
ContactId
contactId
)
throws
DbException
;
GroupCount
getGroupCount
(
Transaction
txn
,
ContactId
c
)
...
...
briar-api/src/main/java/org/briarproject/briar/api/conversation/ConversationMessageHeader.java
0 → 100644
View file @
e3abff5a
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
>
T
accept
(
ConversationMessageVisitor
<
T
>
v
);
}
briar-api/src/main/java/org/briarproject/briar/api/
messaging/Private
MessageVisitor.java
→
briar-api/src/main/java/org/briarproject/briar/api/
conversation/Conversation
MessageVisitor.java
View file @
e3abff5a
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
Private
MessageVisitor
<
T
>
{
public
interface
Conversation
MessageVisitor
<
T
>
{
T
visitPrivateMessageHeader
(
PrivateMessageHeader
h
);
...
...
briar-api/src/main/java/org/briarproject/briar/api/
messaging/Private
Request.java
→
briar-api/src/main/java/org/briarproject/briar/api/
conversation/Conversation
Request.java
View file @
e3abff5a
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
<
N
extends
Nameable
>
extends
PrivateMessageHeader
{
public
abstract
class
ConversationRequest
<
N
extends
Nameable
>
extends
ConversationMessageHeader
{
private
final
SessionId
sessionId
;
private
final
N
nameable
;
...
...
@@ -19,7 +20,7 @@ public class PrivateRequest<N extends Nameable> extends PrivateMessageHeader {
private
final
String
text
;
private
final
boolean
answered
;
public
Private
Request
(
MessageId
messageId
,
GroupId
groupId
,
long
time
,
public
Conversation
Request
(
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<N extends Nameable> extends PrivateMessageHeader {
public
boolean
wasAnswered
()
{
return
answered
;
}
}
briar-api/src/main/java/org/briarproject/briar/api/
messaging/Private
Response.java
→
briar-api/src/main/java/org/briarproject/briar/api/
conversation/Conversation
Response.java
View file @
e3abff5a
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
Private
MessageHeader
{
public
abstract
class
ConversationResponse
extends
Conversation
MessageHeader
{
private
final
SessionId
sessionId
;
private
final
boolean
accepted
;
public
Private
Response
(
MessageId
id
,
GroupId
groupId
,
long
time
,
public
Conversation
Response
(
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
);
...
...
briar-api/src/main/java/org/briarproject/briar/api/conversation/event/ConversationMessageReceivedEvent.java
0 → 100644
View file @
e3abff5a
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
<
H
extends
ConversationMessageHeader
>
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
;
}
}
briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationRequest.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.sharing.InvitationRequest
;
import
javax.annotation.Nullable
;
...
...
@@ -23,7 +23,7 @@ public class ForumInvitationRequest extends InvitationRequest<Forum> {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitForumInvitationRequest
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/forum/ForumInvitationResponse.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.sharing.InvitationResponse
;
import
javax.annotation.concurrent.Immutable
;
...
...
@@ -21,7 +21,7 @@ public class ForumInvitationResponse extends InvitationResponse {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitForumInvitationResponse
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationRequestReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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
<
Private
Request
<
Forum
>>
{
ConversationMessageReceivedEvent
<
Conversation
Request
<
Forum
>>
{
public
ForumInvitationRequestReceivedEvent
(
Private
Request
<
Forum
>
request
,
public
ForumInvitationRequestReceivedEvent
(
Conversation
Request
<
Forum
>
request
,
ContactId
contactId
)
{
super
(
request
,
contactId
);
}
...
...
briar-api/src/main/java/org/briarproject/briar/api/forum/event/ForumInvitationResponseReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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
Private
MessageReceivedEvent
<
ForumInvitationResponse
>
{
Conversation
MessageReceivedEvent
<
ForumInvitationResponse
>
{
public
ForumInvitationResponseReceivedEvent
(
ForumInvitationResponse
response
,
ContactId
contactId
)
{
...
...
briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionManager.java
View file @
e3abff5a
...
...
@@ -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
;
...
...
briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionRequest.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
messaging.Private
Request
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
Request
;
import
javax.annotation.Nullable
;
import
javax.annotation.concurrent.Immutable
;
@Immutable
@NotNullByDefault
public
class
IntroductionRequest
extends
Private
Request
<
Author
>
{
public
class
IntroductionRequest
extends
Conversation
Request
<
Author
>
{
private
final
AuthorInfo
authorInfo
;
...
...
@@ -37,7 +37,7 @@ public class IntroductionRequest extends PrivateRequest<Author> {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitIntroductionRequest
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/introduction/IntroductionResponse.java
View file @
e3abff5a
...
...
@@ -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.Private
MessageVisitor
;
import
org.briarproject.briar.api.
messaging.Private
Response
;
import
org.briarproject.briar.api.
conversation.Conversation
MessageVisitor
;
import
org.briarproject.briar.api.
conversation.Conversation
Response
;
import
javax.annotation.concurrent.Immutable
;
...
...
@@ -15,7 +15,7 @@ import static org.briarproject.briar.api.introduction.Role.INTRODUCER;
@Immutable
@NotNullByDefault
public
class
IntroductionResponse
extends
Private
Response
{
public
class
IntroductionResponse
extends
Conversation
Response
{
private
final
Author
introducedAuthor
;
private
final
AuthorInfo
introducedAuthorInfo
;
...
...
@@ -45,7 +45,7 @@ public class IntroductionResponse extends PrivateResponse {
}
@Override
public
<
T
>
T
accept
(
Private
MessageVisitor
<
T
>
v
)
{
public
<
T
>
T
accept
(
Conversation
MessageVisitor
<
T
>
v
)
{
return
v
.
visitIntroductionResponse
(
this
);
}
}
briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionRequestReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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
Private
MessageReceivedEvent
<
IntroductionRequest
>
{
public
class
IntroductionRequestReceivedEvent
extends
Conversation
MessageReceivedEvent
<
IntroductionRequest
>
{
public
IntroductionRequestReceivedEvent
(
IntroductionRequest
introductionRequest
,
ContactId
contactId
)
{
...
...
briar-api/src/main/java/org/briarproject/briar/api/introduction/event/IntroductionResponseReceivedEvent.java
View file @
e3abff5a
...
...
@@ -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
Private
MessageReceivedEvent
<
IntroductionResponse
>
{
Conversation
MessageReceivedEvent
<
IntroductionResponse
>
{