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
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Julian Dehm
briar
Commits
79d56126
Verified
Commit
79d56126
authored
Oct 10, 2018
by
akwizgran
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use "text" to refer to message text.
parent
a030f922
Changes
145
Show whitespace changes
Inline
Side-by-side
Showing
145 changed files
with
750 additions
and
764 deletions
+750
-764
BaseControllerImpl.java
...g/briarproject/briar/android/blog/BaseControllerImpl.java
+17
-17
BlogCommentItem.java
.../org/briarproject/briar/android/blog/BlogCommentItem.java
+2
-2
BlogPostItem.java
...ava/org/briarproject/briar/android/blog/BlogPostItem.java
+5
-5
BlogPostViewHolder.java
...g/briarproject/briar/android/blog/BlogPostViewHolder.java
+14
-14
WriteBlogPostActivity.java
...riarproject/briar/android/blog/WriteBlogPostActivity.java
+7
-7
ConversationActivity.java
...arproject/briar/android/contact/ConversationActivity.java
+24
-24
ConversationItem.java
.../briarproject/briar/android/contact/ConversationItem.java
+7
-7
ConversationItemViewHolder.java
...ect/briar/android/contact/ConversationItemViewHolder.java
+2
-2
ConversationNoticeInViewHolder.java
...briar/android/contact/ConversationNoticeInViewHolder.java
+3
-3
ConversationNoticeOutItem.java
...ject/briar/android/contact/ConversationNoticeOutItem.java
+1
-1
ConversationNoticeOutViewHolder.java
...riar/android/contact/ConversationNoticeOutViewHolder.java
+3
-3
ConversationRequestItem.java
...roject/briar/android/contact/ConversationRequestItem.java
+1
-1
ConversationVisitor.java
...iarproject/briar/android/contact/ConversationVisitor.java
+7
-7
ForumActivity.java
...a/org/briarproject/briar/android/forum/ForumActivity.java
+3
-3
ForumControllerImpl.java
...briarproject/briar/android/forum/ForumControllerImpl.java
+12
-12
ForumItem.java
.../java/org/briarproject/briar/android/forum/ForumItem.java
+2
-2
IntroductionMessageFragment.java
...iar/android/introduction/IntroductionMessageFragment.java
+7
-7
GroupActivity.java
...riar/android/privategroup/conversation/GroupActivity.java
+3
-3
GroupControllerImpl.java
...ndroid/privategroup/conversation/GroupControllerImpl.java
+11
-11
CreateGroupController.java
.../android/privategroup/creation/CreateGroupController.java
+1
-1
CreateGroupControllerImpl.java
...roid/privategroup/creation/CreateGroupControllerImpl.java
+7
-7
GroupInviteActivity.java
...ar/android/privategroup/creation/GroupInviteActivity.java
+5
-5
BaseMessageFragment.java
...iarproject/briar/android/sharing/BaseMessageFragment.java
+8
-8
ShareActivity.java
...org/briarproject/briar/android/sharing/ShareActivity.java
+3
-3
ShareBlogActivity.java
...briarproject/briar/android/sharing/ShareBlogActivity.java
+5
-5
ShareBlogController.java
...iarproject/briar/android/sharing/ShareBlogController.java
+1
-1
ShareBlogControllerImpl.java
...roject/briar/android/sharing/ShareBlogControllerImpl.java
+3
-3
ShareForumActivity.java
...riarproject/briar/android/sharing/ShareForumActivity.java
+5
-5
ShareForumController.java
...arproject/briar/android/sharing/ShareForumController.java
+1
-1
ShareForumControllerImpl.java
...oject/briar/android/sharing/ShareForumControllerImpl.java
+3
-3
ThreadListActivity.java
...iarproject/briar/android/threaded/ThreadListActivity.java
+3
-3
ThreadListController.java
...rproject/briar/android/threaded/ThreadListController.java
+1
-1
ThreadListControllerImpl.java
...ject/briar/android/threaded/ThreadListControllerImpl.java
+10
-10
UiUtils.java
...ain/java/org/briarproject/briar/android/util/UiUtils.java
+3
-3
activity_write_blog_post.xml
...-android/src/main/res/layout/activity_write_blog_post.xml
+1
-1
list_item_blog_comment.xml
briar-android/src/main/res/layout/list_item_blog_comment.xml
+1
-1
list_item_blog_post.xml
briar-android/src/main/res/layout/list_item_blog_post.xml
+2
-2
ForumActivityTest.java
...g/briarproject/briar/android/forum/ForumActivityTest.java
+3
-3
BlogConstants.java
...n/java/org/briarproject/briar/api/blog/BlogConstants.java
+4
-4
BlogInvitationRequest.java
...rg/briarproject/briar/api/blog/BlogInvitationRequest.java
+2
-2
BlogManager.java
...ain/java/org/briarproject/briar/api/blog/BlogManager.java
+2
-2
BlogPostFactory.java
...java/org/briarproject/briar/api/blog/BlogPostFactory.java
+1
-1
ForumConstants.java
...java/org/briarproject/briar/api/forum/ForumConstants.java
+2
-2
ForumInvitationRequest.java
.../briarproject/briar/api/forum/ForumInvitationRequest.java
+2
-2
ForumManager.java
...n/java/org/briarproject/briar/api/forum/ForumManager.java
+3
-3
ForumPostFactory.java
...va/org/briarproject/briar/api/forum/ForumPostFactory.java
+1
-1
ForumPostReceivedEvent.java
...project/briar/api/forum/event/ForumPostReceivedEvent.java
+5
-5
IntroductionConstants.java
...project/briar/api/introduction/IntroductionConstants.java
+1
-1
IntroductionManager.java
...arproject/briar/api/introduction/IntroductionManager.java
+1
-1
IntroductionRequest.java
...arproject/briar/api/introduction/IntroductionRequest.java
+2
-2
ConversationManager.java
...briarproject/briar/api/messaging/ConversationManager.java
+1
-1
MessagingConstants.java
.../briarproject/briar/api/messaging/MessagingConstants.java
+2
-2
MessagingManager.java
...rg/briarproject/briar/api/messaging/MessagingManager.java
+2
-2
PrivateMessageFactory.java
...iarproject/briar/api/messaging/PrivateMessageFactory.java
+1
-1
PrivateRequest.java
.../org/briarproject/briar/api/messaging/PrivateRequest.java
+5
-5
GroupMessageFactory.java
...arproject/briar/api/privategroup/GroupMessageFactory.java
+2
-2
PrivateGroupConstants.java
...project/briar/api/privategroup/PrivateGroupConstants.java
+4
-4
PrivateGroupManager.java
...arproject/briar/api/privategroup/PrivateGroupManager.java
+2
-2
GroupMessageAddedEvent.java
.../briar/api/privategroup/event/GroupMessageAddedEvent.java
+5
-5
GroupInvitationManager.java
...r/api/privategroup/invitation/GroupInvitationManager.java
+1
-1
GroupInvitationRequest.java
...r/api/privategroup/invitation/GroupInvitationRequest.java
+2
-2
InvitationRequest.java
...org/briarproject/briar/api/sharing/InvitationRequest.java
+2
-2
SharingConstants.java
.../org/briarproject/briar/api/sharing/SharingConstants.java
+2
-3
SharingManager.java
...va/org/briarproject/briar/api/sharing/SharingManager.java
+3
-3
TestDataCreator.java
...java/org/briarproject/briar/api/test/TestDataCreator.java
+1
-1
BlogManagerImpl.java
...ain/java/org/briarproject/briar/blog/BlogManagerImpl.java
+6
-5
BlogPostFactoryImpl.java
...java/org/briarproject/briar/blog/BlogPostFactoryImpl.java
+12
-12
BlogPostValidator.java
...n/java/org/briarproject/briar/blog/BlogPostValidator.java
+44
-43
FeedManagerImpl.java
...ain/java/org/briarproject/briar/feed/FeedManagerImpl.java
+7
-8
ForumManagerImpl.java
...n/java/org/briarproject/briar/forum/ForumManagerImpl.java
+8
-8
ForumPostFactoryImpl.java
...va/org/briarproject/briar/forum/ForumPostFactoryImpl.java
+6
-6
ForumPostValidator.java
...java/org/briarproject/briar/forum/ForumPostValidator.java
+11
-9
AbstractProtocolEngine.java
...iarproject/briar/introduction/AbstractProtocolEngine.java
+2
-2
IntroduceeProtocolEngine.java
...rproject/briar/introduction/IntroduceeProtocolEngine.java
+2
-3
IntroducerProtocolEngine.java
...rproject/briar/introduction/IntroducerProtocolEngine.java
+5
-7
IntroductionManagerImpl.java
...arproject/briar/introduction/IntroductionManagerImpl.java
+4
-4
IntroductionValidator.java
...riarproject/briar/introduction/IntroductionValidator.java
+3
-3
MessageEncoder.java
...a/org/briarproject/briar/introduction/MessageEncoder.java
+1
-1
MessageEncoderImpl.java
...g/briarproject/briar/introduction/MessageEncoderImpl.java
+3
-3
MessageParserImpl.java
...rg/briarproject/briar/introduction/MessageParserImpl.java
+2
-2
ProtocolEngine.java
...a/org/briarproject/briar/introduction/ProtocolEngine.java
+1
-1
RequestMessage.java
...a/org/briarproject/briar/introduction/RequestMessage.java
+7
-7
MessagingManagerImpl.java
...rg/briarproject/briar/messaging/MessagingManagerImpl.java
+2
-2
PrivateMessageFactoryImpl.java
...iarproject/briar/messaging/PrivateMessageFactoryImpl.java
+4
-4
PrivateMessageValidator.java
...briarproject/briar/messaging/PrivateMessageValidator.java
+4
-5
GroupMessageFactoryImpl.java
...arproject/briar/privategroup/GroupMessageFactoryImpl.java
+3
-3
GroupMessageValidator.java
...riarproject/briar/privategroup/GroupMessageValidator.java
+6
-6
PrivateGroupManagerImpl.java
...arproject/briar/privategroup/PrivateGroupManagerImpl.java
+6
-6
AbstractProtocolEngine.java
...briar/privategroup/invitation/AbstractProtocolEngine.java
+2
-2
CreatorProtocolEngine.java
.../briar/privategroup/invitation/CreatorProtocolEngine.java
+4
-4
GroupInvitationManagerImpl.java
...r/privategroup/invitation/GroupInvitationManagerImpl.java
+3
-3
GroupInvitationValidator.java
...iar/privategroup/invitation/GroupInvitationValidator.java
+4
-4
InviteMessage.java
...rproject/briar/privategroup/invitation/InviteMessage.java
+5
-5
InviteeProtocolEngine.java
.../briar/privategroup/invitation/InviteeProtocolEngine.java
+2
-2
MessageEncoder.java
...project/briar/privategroup/invitation/MessageEncoder.java
+1
-1
MessageEncoderImpl.java
...ect/briar/privategroup/invitation/MessageEncoderImpl.java
+2
-2
MessageParserImpl.java
...ject/briar/privategroup/invitation/MessageParserImpl.java
+3
-3
PeerProtocolEngine.java
...ect/briar/privategroup/invitation/PeerProtocolEngine.java
+1
-2
ProtocolEngine.java
...project/briar/privategroup/invitation/ProtocolEngine.java
+1
-1
BlogInvitationFactoryImpl.java
...briarproject/briar/sharing/BlogInvitationFactoryImpl.java
+1
-1
ForumInvitationFactoryImpl.java
...riarproject/briar/sharing/ForumInvitationFactoryImpl.java
+1
-1
InviteMessage.java
...in/java/org/briarproject/briar/sharing/InviteMessage.java
+6
-6
MessageEncoder.java
...n/java/org/briarproject/briar/sharing/MessageEncoder.java
+1
-1
MessageEncoderImpl.java
...va/org/briarproject/briar/sharing/MessageEncoderImpl.java
+3
-3
MessageParserImpl.java
...ava/org/briarproject/briar/sharing/MessageParserImpl.java
+2
-2
ProtocolEngine.java
...n/java/org/briarproject/briar/sharing/ProtocolEngine.java
+1
-1
ProtocolEngineImpl.java
...va/org/briarproject/briar/sharing/ProtocolEngineImpl.java
+6
-6
SharingManagerImpl.java
...va/org/briarproject/briar/sharing/SharingManagerImpl.java
+2
-2
SharingValidator.java
...java/org/briarproject/briar/sharing/SharingValidator.java
+3
-3
TestDataCreatorImpl.java
...java/org/briarproject/briar/test/TestDataCreatorImpl.java
+10
-10
BlogManagerImplTest.java
...java/org/briarproject/briar/blog/BlogManagerImplTest.java
+3
-3
BlogManagerIntegrationTest.java
...g/briarproject/briar/blog/BlogManagerIntegrationTest.java
+21
-22
BlogPostValidatorTest.java
...va/org/briarproject/briar/blog/BlogPostValidatorTest.java
+8
-8
FeedManagerImplTest.java
...java/org/briarproject/briar/feed/FeedManagerImplTest.java
+2
-2
ForumManagerTest.java
...t/java/org/briarproject/briar/forum/ForumManagerTest.java
+9
-9
ForumPostValidatorTest.java
.../org/briarproject/briar/forum/ForumPostValidatorTest.java
+29
-29
IntroductionValidatorTest.java
...project/briar/introduction/IntroductionValidatorTest.java
+2
-2
MessageEncoderParserIntegrationTest.java
...iar/introduction/MessageEncoderParserIntegrationTest.java
+4
-4
MessageEncoderTest.java
...g/briarproject/briar/introduction/MessageEncoderTest.java
+2
-2
MessageSizeIntegrationTest.java
...arproject/briar/messaging/MessageSizeIntegrationTest.java
+8
-8
PrivateMessageValidatorTest.java
...rproject/briar/messaging/PrivateMessageValidatorTest.java
+12
-13
GroupMessageValidatorTest.java
...project/briar/privategroup/GroupMessageValidatorTest.java
+28
-28
PrivateGroupIntegrationTest.java
...oject/briar/privategroup/PrivateGroupIntegrationTest.java
+4
-4
PrivateGroupManagerIntegrationTest.java
...riar/privategroup/PrivateGroupManagerIntegrationTest.java
+3
-3
AbstractProtocolEngineTest.java
...r/privategroup/invitation/AbstractProtocolEngineTest.java
+4
-4
CreatorProtocolEngineTest.java
...ar/privategroup/invitation/CreatorProtocolEngineTest.java
+10
-9
GroupInvitationIntegrationTest.java
...ivategroup/invitation/GroupInvitationIntegrationTest.java
+5
-5
GroupInvitationManagerImplTest.java
...ivategroup/invitation/GroupInvitationManagerImplTest.java
+6
-6
GroupInvitationValidatorTest.java
...privategroup/invitation/GroupInvitationValidatorTest.java
+27
-27
InviteeProtocolEngineTest.java
...ar/privategroup/invitation/InviteeProtocolEngineTest.java
+2
-2
BlogSharingIntegrationTest.java
...riarproject/briar/sharing/BlogSharingIntegrationTest.java
+3
-3
BlogSharingValidatorTest.java
.../briarproject/briar/sharing/BlogSharingValidatorTest.java
+15
-19
ForumSharingIntegrationTest.java
...iarproject/briar/sharing/ForumSharingIntegrationTest.java
+8
-11
ForumSharingValidatorTest.java
...briarproject/briar/sharing/ForumSharingValidatorTest.java
+10
-13
BlogControllerImpl.kt
...g/briarproject/briar/headless/blogs/BlogControllerImpl.kt
+5
-5
OutputBlogPost.kt
...a/org/briarproject/briar/headless/blogs/OutputBlogPost.kt
+2
-2
OutputEvent.kt
...java/org/briarproject/briar/headless/event/OutputEvent.kt
+2
-2
ForumControllerImpl.kt
...briarproject/briar/headless/forums/ForumControllerImpl.kt
+2
-2
MessagingControllerImpl.kt
...oject/briar/headless/messaging/MessagingControllerImpl.kt
+6
-6
OutputPrivateMessage.kt
...rproject/briar/headless/messaging/OutputPrivateMessage.kt
+4
-4
OutputPrivateRequest.kt
...rproject/briar/headless/messaging/OutputPrivateRequest.kt
+1
-1
ControllerTest.kt
...st/java/org/briarproject/briar/headless/ControllerTest.kt
+1
-1
BlogControllerTest.kt
...g/briarproject/briar/headless/blogs/BlogControllerTest.kt
+9
-9
WebSocketControllerTest.kt
...arproject/briar/headless/event/WebSocketControllerTest.kt
+4
-4
MessagingControllerImplTest.kt
...t/briar/headless/messaging/MessagingControllerImplTest.kt
+18
-18
No files found.
briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java
View file @
79d56126
...
...
@@ -51,7 +51,7 @@ abstract class BaseControllerImpl extends DbControllerImpl
protected
final
IdentityManager
identityManager
;
protected
final
BlogManager
blogManager
;
private
final
Map
<
MessageId
,
String
>
body
Cache
=
new
ConcurrentHashMap
<>();
private
final
Map
<
MessageId
,
String
>
text
Cache
=
new
ConcurrentHashMap
<>();
private
final
Map
<
MessageId
,
BlogPostHeader
>
headerCache
=
new
ConcurrentHashMap
<>();
...
...
@@ -129,17 +129,17 @@ abstract class BaseControllerImpl extends DbControllerImpl
public
void
loadBlogPost
(
BlogPostHeader
header
,
ResultExceptionHandler
<
BlogPostItem
,
DbException
>
handler
)
{
String
body
=
body
Cache
.
get
(
header
.
getId
());
if
(
body
!=
null
)
{
LOG
.
info
(
"Loaded
body
from cache"
);
handler
.
onResult
(
new
BlogPostItem
(
header
,
body
));
String
text
=
text
Cache
.
get
(
header
.
getId
());
if
(
text
!=
null
)
{
LOG
.
info
(
"Loaded
text
from cache"
);
handler
.
onResult
(
new
BlogPostItem
(
header
,
text
));
return
;
}
runOnDbThread
(()
->
{
try
{
long
start
=
now
();
BlogPostItem
item
=
getItem
(
header
);
logDuration
(
LOG
,
"Loading
body
"
,
start
);
logDuration
(
LOG
,
"Loading
text
"
,
start
);
handler
.
onResult
(
item
);
}
catch
(
DbException
e
)
{
logException
(
LOG
,
WARNING
,
e
);
...
...
@@ -200,28 +200,28 @@ abstract class BaseControllerImpl extends DbControllerImpl
@DatabaseExecutor
private
BlogPostItem
getItem
(
BlogPostHeader
h
)
throws
DbException
{
String
body
;
String
text
;
if
(
h
instanceof
BlogCommentHeader
)
{
BlogCommentHeader
c
=
(
BlogCommentHeader
)
h
;
BlogCommentItem
item
=
new
BlogCommentItem
(
c
);
body
=
getPostBody
(
item
.
getPostHeader
().
getId
());
item
.
set
Body
(
body
);
text
=
getPostText
(
item
.
getPostHeader
().
getId
());
item
.
set
Text
(
text
);
return
item
;
}
else
{
body
=
getPostBody
(
h
.
getId
());
return
new
BlogPostItem
(
h
,
body
);
text
=
getPostText
(
h
.
getId
());
return
new
BlogPostItem
(
h
,
text
);
}
}
@DatabaseExecutor
private
String
getPost
Body
(
MessageId
m
)
throws
DbException
{
String
body
=
body
Cache
.
get
(
m
);
if
(
body
==
null
)
{
body
=
HtmlUtils
.
clean
(
blogManager
.
getPostBody
(
m
),
ARTICLE
);
bodyCache
.
put
(
m
,
body
);
private
String
getPost
Text
(
MessageId
m
)
throws
DbException
{
String
text
=
text
Cache
.
get
(
m
);
if
(
text
==
null
)
{
text
=
HtmlUtils
.
clean
(
blogManager
.
getPostText
(
m
),
ARTICLE
);
textCache
.
put
(
m
,
text
);
}
//noinspection ConstantConditions
return
body
;
return
text
;
}
}
briar-android/src/main/java/org/briarproject/briar/android/blog/BlogCommentItem.java
View file @
79d56126
...
...
@@ -34,8 +34,8 @@ class BlogCommentItem extends BlogPostItem {
}
}
public
void
set
Body
(
String
body
)
{
this
.
body
=
body
;
public
void
set
Text
(
String
text
)
{
this
.
text
=
text
;
}
@Override
...
...
briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostItem.java
View file @
79d56126
...
...
@@ -15,12 +15,12 @@ import javax.annotation.concurrent.NotThreadSafe;
public
class
BlogPostItem
implements
Comparable
<
BlogPostItem
>
{
private
final
BlogPostHeader
header
;
protected
String
body
;
protected
String
text
;
private
boolean
read
;
BlogPostItem
(
BlogPostHeader
header
,
@Nullable
String
body
)
{
BlogPostItem
(
BlogPostHeader
header
,
@Nullable
String
text
)
{
this
.
header
=
header
;
this
.
body
=
body
;
this
.
text
=
text
;
this
.
read
=
header
.
isRead
();
}
...
...
@@ -44,8 +44,8 @@ public class BlogPostItem implements Comparable<BlogPostItem> {
return
header
.
getAuthorStatus
();
}
public
String
get
Body
()
{
return
body
;
public
String
get
Text
()
{
return
text
;
}
public
boolean
isRssFeed
()
{
...
...
briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java
View file @
79d56126
...
...
@@ -41,7 +41,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
private
final
AuthorView
reblogger
;
private
final
AuthorView
author
;
private
final
ImageButton
reblogButton
;
private
final
TextView
body
;
private
final
TextView
text
;
private
final
ViewGroup
commentContainer
;
private
final
boolean
fullText
;
...
...
@@ -63,7 +63,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
reblogger
=
v
.
findViewById
(
R
.
id
.
rebloggerView
);
author
=
v
.
findViewById
(
R
.
id
.
authorView
);
reblogButton
=
v
.
findViewById
(
R
.
id
.
commentView
);
body
=
v
.
findViewById
(
R
.
id
.
body
View
);
text
=
v
.
findViewById
(
R
.
id
.
text
View
);
commentContainer
=
v
.
findViewById
(
R
.
id
.
commentContainer
);
}
...
...
@@ -111,17 +111,17 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
author
.
setAuthorNotClickable
();
}
// post
body
Spanned
bodyText
=
getSpanned
(
item
.
getBody
());
// post
text
Spanned
postText
=
getSpanned
(
item
.
getText
());
if
(
fullText
)
{
body
.
setText
(
body
Text
);
body
.
setTextIsSelectable
(
true
);
makeLinksClickable
(
body
,
fragmentManager
);
text
.
setText
(
post
Text
);
text
.
setTextIsSelectable
(
true
);
makeLinksClickable
(
text
,
fragmentManager
);
}
else
{
body
.
setTextIsSelectable
(
false
);
if
(
body
Text
.
length
()
>
TEASER_LENGTH
)
bodyText
=
getTeaser
(
ctx
,
body
Text
);
body
.
setText
(
body
Text
);
text
.
setTextIsSelectable
(
false
);
if
(
post
Text
.
length
()
>
TEASER_LENGTH
)
postText
=
getTeaser
(
ctx
,
post
Text
);
text
.
setText
(
post
Text
);
}
// reblog button
...
...
@@ -163,15 +163,15 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder {
commentContainer
,
false
);
AuthorView
author
=
v
.
findViewById
(
R
.
id
.
authorView
);
TextView
body
=
v
.
findViewById
(
R
.
id
.
body
View
);
TextView
text
=
v
.
findViewById
(
R
.
id
.
text
View
);
author
.
setAuthor
(
c
.
getAuthor
());
author
.
setAuthorStatus
(
c
.
getAuthorStatus
());
author
.
setDate
(
c
.
getTimestamp
());
// TODO make author clickable #624
body
.
setText
(
c
.
getComment
());
if
(
fullText
)
body
.
setTextIsSelectable
(
true
);
text
.
setText
(
c
.
getComment
());
if
(
fullText
)
text
.
setTextIsSelectable
(
true
);
commentContainer
.
addView
(
v
);
}
...
...
briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java
View file @
79d56126
...
...
@@ -35,7 +35,7 @@ import static android.view.View.GONE;
import
static
android
.
view
.
View
.
VISIBLE
;
import
static
java
.
util
.
logging
.
Level
.
WARNING
;
import
static
org
.
briarproject
.
bramble
.
util
.
LogUtils
.
logException
;
import
static
org
.
briarproject
.
briar
.
api
.
blog
.
BlogConstants
.
MAX_BLOG_POST_
BODY
_LENGTH
;
import
static
org
.
briarproject
.
briar
.
api
.
blog
.
BlogConstants
.
MAX_BLOG_POST_
TEXT
_LENGTH
;
public
class
WriteBlogPostActivity
extends
BriarActivity
implements
OnEditorActionListener
,
TextInputListener
{
...
...
@@ -70,7 +70,7 @@ public class WriteBlogPostActivity extends BriarActivity
setContentView
(
R
.
layout
.
activity_write_blog_post
);
input
=
findViewById
(
R
.
id
.
body
Input
);
input
=
findViewById
(
R
.
id
.
text
Input
);
input
.
setSendButtonEnabled
(
false
);
input
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
...
...
@@ -132,23 +132,23 @@ public class WriteBlogPostActivity extends BriarActivity
}
@Override
public
void
onSendClick
(
String
body
)
{
public
void
onSendClick
(
String
text
)
{
// hide publish button, show progress bar
input
.
hideSoftKeyboard
();
input
.
setVisibility
(
GONE
);
progressBar
.
setVisibility
(
VISIBLE
);
body
=
StringUtils
.
truncateUtf8
(
body
,
MAX_BLOG_POST_BODY
_LENGTH
);
storePost
(
body
);
text
=
StringUtils
.
truncateUtf8
(
text
,
MAX_BLOG_POST_TEXT
_LENGTH
);
storePost
(
text
);
}
private
void
storePost
(
String
body
)
{
private
void
storePost
(
String
text
)
{
runOnDbThread
(()
->
{
long
timestamp
=
System
.
currentTimeMillis
();
try
{
LocalAuthor
author
=
identityManager
.
getLocalAuthor
();
BlogPost
p
=
blogPostFactory
.
createBlogPost
(
groupId
,
timestamp
,
null
,
author
,
body
);
.
createBlogPost
(
groupId
,
timestamp
,
null
,
author
,
text
);
blogManager
.
addLocalPost
(
p
);
postPublished
();
}
catch
(
DbException
|
GeneralSecurityException
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java
View file @
79d56126
...
...
@@ -53,7 +53,7 @@ import org.briarproject.briar.android.activity.ActivityComponent;
import
org.briarproject.briar.android.activity.BriarActivity
;
import
org.briarproject.briar.android.blog.BlogActivity
;
import
org.briarproject.briar.android.contact.ConversationAdapter.ConversationListener
;
import
org.briarproject.briar.android.contact.ConversationVisitor.
Body
Cache
;
import
org.briarproject.briar.android.contact.ConversationVisitor.
Text
Cache
;
import
org.briarproject.briar.android.forum.ForumActivity
;
import
org.briarproject.briar.android.introduction.IntroductionActivity
;
import
org.briarproject.briar.android.privategroup.conversation.GroupActivity
;
...
...
@@ -105,7 +105,7 @@ import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_INTRO
import
static
org
.
briarproject
.
briar
.
android
.
settings
.
SettingsFragment
.
SETTINGS_NAMESPACE
;
import
static
org
.
briarproject
.
briar
.
android
.
util
.
UiUtils
.
getAvatarTransitionName
;
import
static
org
.
briarproject
.
briar
.
android
.
util
.
UiUtils
.
getBulbTransitionName
;
import
static
org
.
briarproject
.
briar
.
api
.
messaging
.
MessagingConstants
.
MAX_PRIVATE_MESSAGE_
BODY
_LENGTH
;
import
static
org
.
briarproject
.
briar
.
api
.
messaging
.
MessagingConstants
.
MAX_PRIVATE_MESSAGE_
TEXT
_LENGTH
;
import
static
uk
.
co
.
samuelwall
.
materialtaptargetprompt
.
MaterialTapTargetPrompt
.
STATE_DISMISSED
;
import
static
uk
.
co
.
samuelwall
.
materialtaptargetprompt
.
MaterialTapTargetPrompt
.
STATE_FINISHED
;
...
...
@@ -113,7 +113,7 @@ import static uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt.S
@ParametersNotNullByDefault
public
class
ConversationActivity
extends
BriarActivity
implements
EventListener
,
ConversationListener
,
TextInputListener
,
Body
Cache
{
Text
Cache
{
public
static
final
String
CONTACT_ID
=
"briar.CONTACT_ID"
;
...
...
@@ -130,7 +130,7 @@ public class ConversationActivity extends BriarActivity
@CryptoExecutor
Executor
cryptoExecutor
;
private
final
Map
<
MessageId
,
String
>
body
Cache
=
new
ConcurrentHashMap
<>();
private
final
Map
<
MessageId
,
String
>
text
Cache
=
new
ConcurrentHashMap
<>();
private
final
MutableLiveData
<
String
>
contactName
=
new
MutableLiveData
<>();
private
ConversationVisitor
visitor
;
...
...
@@ -370,28 +370,28 @@ public class ConversationActivity extends BriarActivity
return
items
;
}
private
void
loadMessage
Body
(
MessageId
m
)
{
private
void
loadMessage
Text
(
MessageId
m
)
{
runOnDbThread
(()
->
{
try
{
long
start
=
now
();
String
body
=
messagingManager
.
getMessageBody
(
m
);
logDuration
(
LOG
,
"Loading
body
"
,
start
);
displayMessage
Body
(
m
,
body
);
String
text
=
messagingManager
.
getMessageText
(
m
);
logDuration
(
LOG
,
"Loading
text
"
,
start
);
displayMessage
Text
(
m
,
text
);
}
catch
(
DbException
e
)
{
logException
(
LOG
,
WARNING
,
e
);
}
});
}
private
void
displayMessage
Body
(
MessageId
m
,
String
body
)
{
private
void
displayMessage
Text
(
MessageId
m
,
String
text
)
{
runOnUiThreadUnlessDestroyed
(()
->
{
bodyCache
.
put
(
m
,
body
);
textCache
.
put
(
m
,
text
);
SparseArray
<
ConversationItem
>
messages
=
adapter
.
getPrivateMessages
();
for
(
int
i
=
0
;
i
<
messages
.
size
();
i
++)
{
ConversationItem
item
=
messages
.
valueAt
(
i
);
if
(
item
.
getId
().
equals
(
m
))
{
item
.
set
Body
(
body
);
item
.
set
Text
(
text
);
adapter
.
notifyItemChanged
(
messages
.
keyAt
(
i
));
list
.
scrollToPosition
(
adapter
.
getItemCount
()
-
1
);
return
;
...
...
@@ -470,7 +470,7 @@ public class ConversationActivity extends BriarActivity
}
}
else
{
addConversationItem
(
h
.
accept
(
visitor
));
loadMessage
Body
(
h
.
getId
());
loadMessage
Text
(
h
.
getId
());
}
});
}
...
...
@@ -495,8 +495,8 @@ public class ConversationActivity extends BriarActivity
@Override
public
void
onSendClick
(
String
text
)
{
if
(
text
.
equals
(
""
))
return
;
text
=
StringUtils
.
truncateUtf8
(
text
,
MAX_PRIVATE_MESSAGE_
BODY
_LENGTH
);
if
(
text
.
isEmpty
(
))
return
;
text
=
StringUtils
.
truncateUtf8
(
text
,
MAX_PRIVATE_MESSAGE_
TEXT
_LENGTH
);
long
timestamp
=
System
.
currentTimeMillis
();
timestamp
=
Math
.
max
(
timestamp
,
getMinTimestampForNewMessage
());
if
(
messagingGroupId
==
null
)
loadGroupId
(
text
,
timestamp
);
...
...
@@ -510,12 +510,12 @@ public class ConversationActivity extends BriarActivity
return
item
==
null
?
0
:
item
.
getTime
()
+
1
;
}
private
void
loadGroupId
(
String
body
,
long
timestamp
)
{
private
void
loadGroupId
(
String
text
,
long
timestamp
)
{
runOnDbThread
(()
->
{
try
{
messagingGroupId
=
messagingManager
.
getConversationId
(
contactId
);
createMessage
(
body
,
timestamp
);
createMessage
(
text
,
timestamp
);
}
catch
(
DbException
e
)
{
logException
(
LOG
,
WARNING
,
e
);
}
...
...
@@ -523,19 +523,19 @@ public class ConversationActivity extends BriarActivity
});
}
private
void
createMessage
(
String
body
,
long
timestamp
)
{
private
void
createMessage
(
String
text
,
long
timestamp
)
{
cryptoExecutor
.
execute
(()
->
{
try
{
//noinspection ConstantConditions init in loadGroupId()
storeMessage
(
privateMessageFactory
.
createPrivateMessage
(
messagingGroupId
,
timestamp
,
body
),
body
);
messagingGroupId
,
timestamp
,
text
),
text
);
}
catch
(
FormatException
e
)
{
throw
new
RuntimeException
(
e
);
}
});
}
private
void
storeMessage
(
PrivateMessage
m
,
String
body
)
{
private
void
storeMessage
(
PrivateMessage
m
,
String
text
)
{
runOnDbThread
(()
->
{
try
{
long
start
=
now
();
...
...
@@ -545,7 +545,7 @@ public class ConversationActivity extends BriarActivity
PrivateMessageHeader
h
=
new
PrivateMessageHeader
(
message
.
getId
(),
message
.
getGroupId
(),
message
.
getTimestamp
(),
true
,
false
,
false
,
false
);
bodyCache
.
put
(
message
.
getId
(),
body
);
textCache
.
put
(
message
.
getId
(),
text
);
addConversationItem
(
h
.
accept
(
visitor
));
}
catch
(
DbException
e
)
{
logException
(
LOG
,
WARNING
,
e
);
...
...
@@ -761,9 +761,9 @@ public class ConversationActivity extends BriarActivity
@Nullable
@Override
public
String
get
Body
(
MessageId
m
)
{
String
body
=
body
Cache
.
get
(
m
);
if
(
body
==
null
)
loadMessageBody
(
m
);
return
body
;
public
String
get
Text
(
MessageId
m
)
{
String
text
=
text
Cache
.
get
(
m
);
if
(
text
==
null
)
loadMessageText
(
m
);
return
text
;
}
}
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationItem.java
View file @
79d56126
...
...
@@ -14,17 +14,17 @@ import javax.annotation.concurrent.NotThreadSafe;
abstract
class
ConversationItem
{
@Nullable
protected
String
body
;
protected
String
text
;
private
final
MessageId
id
;
private
final
GroupId
groupId
;
private
final
long
time
;
private
boolean
read
;
ConversationItem
(
MessageId
id
,
GroupId
groupId
,
@Nullable
String
body
,
ConversationItem
(
MessageId
id
,
GroupId
groupId
,
@Nullable
String
text
,
long
time
,
boolean
read
)
{
this
.
id
=
id
;
this
.
groupId
=
groupId
;
this
.
body
=
body
;
this
.
text
=
text
;
this
.
time
=
time
;
this
.
read
=
read
;
}
...
...
@@ -37,13 +37,13 @@ abstract class ConversationItem {
return
groupId
;
}
void
set
Body
(
String
body
)
{
this
.
body
=
body
;
void
set
Text
(
String
text
)
{
this
.
text
=
text
;
}
@Nullable
public
String
get
Body
()
{
return
body
;
public
String
get
Text
()
{
return
text
;
}
long
getTime
()
{
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationItemViewHolder.java
View file @
79d56126
...
...
@@ -29,10 +29,10 @@ class ConversationItemViewHolder extends ViewHolder {
@CallSuper
void
bind
(
ConversationItem
item
)
{
if
(
item
.
get
Body
()
==
null
)
{
if
(
item
.
get
Text
()
==
null
)
{
text
.
setText
(
"\u2026"
);
}
else
{
text
.
setText
(
StringUtils
.
trim
(
item
.
get
Body
()));
text
.
setText
(
StringUtils
.
trim
(
item
.
get
Text
()));
}
long
timestamp
=
item
.
getTime
();
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeInViewHolder.java
View file @
79d56126
...
...
@@ -29,13 +29,13 @@ class ConversationNoticeInViewHolder extends ConversationItemViewHolder {
ConversationNoticeInItem
item
=
(
ConversationNoticeInItem
)
conversationItem
;
String
message
=
item
.
getMsgText
();
if
(
StringUtils
.
isNullOrEmpty
(
message
))
{
String
text
=
item
.
getMsgText
();
if
(
StringUtils
.
isNullOrEmpty
(
text
))
{
msgText
.
setVisibility
(
GONE
);
layout
.
setBackgroundResource
(
R
.
drawable
.
notice_in
);
}
else
{
msgText
.
setVisibility
(
VISIBLE
);
msgText
.
setText
(
StringUtils
.
trim
(
message
));
msgText
.
setText
(
StringUtils
.
trim
(
text
));
layout
.
setBackgroundResource
(
R
.
drawable
.
notice_in_bottom
);
}
}
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutItem.java
View file @
79d56126
...
...
@@ -20,7 +20,7 @@ class ConversationNoticeOutItem extends ConversationOutItem {
ConversationNoticeOutItem
(
String
text
,
PrivateRequest
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
getTimestamp
(),
r
.
isSent
(),
r
.
isSeen
());
this
.
msgText
=
r
.
get
Message
();
this
.
msgText
=
r
.
get
Text
();
}
ConversationNoticeOutItem
(
String
text
,
PrivateResponse
r
)
{
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationNoticeOutViewHolder.java
View file @
79d56126
...
...
@@ -29,13 +29,13 @@ class ConversationNoticeOutViewHolder extends ConversationOutItemViewHolder {
ConversationNoticeOutItem
item
=
(
ConversationNoticeOutItem
)
conversationItem
;
String
message
=
item
.
getMsgText
();
if
(
StringUtils
.
isNullOrEmpty
(
message
))
{
String
text
=
item
.
getMsgText
();
if
(
StringUtils
.
isNullOrEmpty
(
text
))
{
msgText
.
setVisibility
(
GONE
);
layout
.
setBackgroundResource
(
R
.
drawable
.
notice_out
);
}
else
{
msgText
.
setVisibility
(
VISIBLE
);
msgText
.
setText
(
StringUtils
.
trim
(
message
));
msgText
.
setText
(
StringUtils
.
trim
(
text
));
layout
.
setBackgroundResource
(
R
.
drawable
.
notice_out_bottom
);
}
}
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationRequestItem.java
View file @
79d56126
...
...
@@ -27,7 +27,7 @@ class ConversationRequestItem extends ConversationNoticeInItem {
private
boolean
answered
;
ConversationRequestItem
(
String
text
,
RequestType
type
,
PrivateRequest
r
)
{
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
get
Message
(),
super
(
r
.
getId
(),
r
.
getGroupId
(),
text
,
r
.
get
Text
(),
r
.
getTimestamp
(),
r
.
isRead
());
this
.
requestType
=
type
;
this
.
sessionId
=
r
.
getSessionId
();
...
...
briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationVisitor.java
View file @
79d56126
...
...
@@ -30,13 +30,13 @@ import static org.briarproject.briar.android.contact.ConversationRequestItem.Req
class
ConversationVisitor
implements
PrivateMessageVisitor
<
ConversationItem
>
{
private
final
Context
ctx
;
private
final
BodyCache
body
Cache
;
private
final
TextCache
text
Cache
;
private
final
LiveData
<
String
>
contactName
;
ConversationVisitor
(
Context
ctx
,
BodyCache
body
Cache
,
ConversationVisitor
(
Context
ctx
,
TextCache
text
Cache
,
LiveData
<
String
>
contactName
)
{
this
.
ctx
=
ctx
;
this
.
bodyCache
=
body
Cache
;
this
.
textCache
=
text
Cache
;
this
.
contactName
=
contactName
;
}
...
...
@@ -45,8 +45,8 @@ class ConversationVisitor implements PrivateMessageVisitor<ConversationItem> {
ConversationItem
item
;
if
(
h
.
isLocal
())
item
=
new
ConversationMessageOutItem
(
h
);
else
item
=
new
ConversationMessageInItem
(
h
);
String
body
=
bodyCache
.
getBody
(
h
.
getId
());
if
(
body
!=
null
)
item
.
setBody
(
body
);
String
text
=
textCache
.
getText
(
h
.
getId
());
if
(
text
!=
null
)
item
.
setText
(
text
);
return
item
;
}
...
...
@@ -239,8 +239,8 @@ class ConversationVisitor implements PrivateMessageVisitor<ConversationItem> {
}
}
interface
Body
Cache
{
interface
Text
Cache
{
@Nullable
String
get
Body
(
MessageId
m
);
String
get
Text
(
MessageId
m
);
}
}
briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
View file @
79d56126
...
...
@@ -33,7 +33,7 @@ import javax.inject.Inject;
import
static
android
.
content
.
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
;
import
static
android
.
widget
.
Toast
.
LENGTH_SHORT
;
import
static
org
.
briarproject
.
briar
.
android
.
activity
.
RequestCodes
.
REQUEST_SHARE_FORUM
;
import
static
org
.
briarproject
.
briar
.
api
.
forum
.
ForumConstants
.
MAX_FORUM_POST_
BODY
_LENGTH
;
import
static
org
.
briarproject
.
briar
.
api
.
forum
.
ForumConstants
.
MAX_FORUM_POST_
TEXT
_LENGTH
;
@MethodsNotNullByDefault
@ParametersNotNullByDefault
...
...
@@ -130,8 +130,8 @@ public class ForumActivity extends
}
@Override
protected
int
getMax
Body
Length
()
{
return
MAX_FORUM_POST_
BODY
_LENGTH
;
protected
int
getMax
Text
Length
()
{
return
MAX_FORUM_POST_
TEXT
_LENGTH
;
}
@Override
...
...
briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java
View file @
79d56126
...
...
@@ -79,7 +79,7 @@ class ForumControllerImpl extends
ForumPostReceivedEvent
f
=
(
ForumPostReceivedEvent
)
e
;
if
(
f
.
getGroupId
().
equals
(
getGroupId
()))
{
LOG
.
info
(
"Forum post received, adding..."
);
onForumPostReceived
(
f
.
getHeader
(),
f
.
get
Body
());
onForumPostReceived
(
f
.
getHeader
(),
f
.
get
Text
());
}
}
else
if
(
e
instanceof
ForumInvitationResponseReceivedEvent
)
{
ForumInvitationResponseReceivedEvent
f
=
...
...
@@ -109,8 +109,8 @@ class ForumControllerImpl extends
}
@Override
protected
String
loadMessage
Body
(
ForumPostHeader
h
)
throws
DbException
{
return
forumManager
.
getPost
Body
(
h
.
getId
());
protected
String
loadMessage
Text
(
ForumPostHeader
h
)
throws
DbException
{
return
forumManager
.
getPost
Text
(
h
.
getId
());
}
@Override
...
...
@@ -137,7 +137,7 @@ class ForumControllerImpl extends
}
@Override
public
void
createAndStoreMessage
(
String
body
,
public
void
createAndStoreMessage
(
String
text
,
@Nullable
ForumItem
parentItem
,
ResultExceptionHandler
<
ForumItem
,
DbException
>
handler
)
{
runOnDbThread
(()
->
{
...
...
@@ -148,7 +148,7 @@ class ForumControllerImpl extends
clock
.
currentTimeMillis
());
MessageId
parentId
=
parentItem
!=
null
?
parentItem
.
getId
()
:
null
;
createMessage
(
body
,
timestamp
,
parentId
,
author
,
handler
);
createMessage
(
text
,
timestamp
,
parentId
,
author
,
handler
);
}
catch
(
DbException
e
)
{
logException
(
LOG
,
WARNING
,
e
);
handler
.
onException
(
e
);
...
...
@@ -156,14 +156,14 @@ class ForumControllerImpl extends
});
}
private
void
createMessage
(
String
body
,
long
timestamp
,
private
void
createMessage
(
String
text
,
long
timestamp
,
@Nullable
MessageId
parentId
,
LocalAuthor
author
,
ResultExceptionHandler
<
ForumItem
,
DbException
>
handler
)
{
cryptoExecutor
.
execute
(()
->
{
LOG
.
info
(
"Creating forum post..."
);
ForumPost
msg
=
forumManager
.
createLocalPost
(
getGroupId
(),
body
,
ForumPost
msg
=
forumManager
.
createLocalPost
(
getGroupId
(),
text
,
timestamp
,
parentId
,
author
);
storePost
(
msg
,
body
,
handler
);
storePost
(
msg
,
text
,
handler
);
});