From f027b832d4995862db211c60f900bdc960ae648b Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Tue, 25 Oct 2016 15:52:43 -0200 Subject: [PATCH] Address review issues --- briar-android/AndroidManifest.xml | 14 ++++---- briar-android/res/values/strings.xml | 4 +-- .../android/ActivityComponent.java | 36 +++++++++---------- .../briarproject/android/ActivityModule.java | 24 ++++++------- .../android/blogs/BlogFragment.java | 8 ++--- .../android/contact/ContactListFragment.java | 20 +++++------ .../android/contact/ConversationActivity.java | 26 ++++++-------- .../android/contact/ConversationAdapter.java | 4 +++ .../android/contact/ConversationItem.java | 24 ++++++++++++- .../android/forum/ForumActivity.java | 8 ++--- .../android/forum/ForumListFragment.java | 4 +-- ...apter.java => GroupInvitationAdapter.java} | 4 +-- ...ity.java => GroupInvitationsActivity.java} | 10 +++--- ...r.java => GroupInvitationsController.java} | 2 +- ...va => GroupInvitationsControllerImpl.java} | 6 ++-- .../privategroup/list/GroupListFragment.java | 4 +-- ...vity.java => BlogInvitationsActivity.java} | 7 ++-- ...er.java => BlogInvitationsController.java} | 2 +- ...ava => BlogInvitationsControllerImpl.java} | 6 ++-- ...ogActivity.java => BlogShareActivity.java} | 4 +-- ...ent.java => BlogShareMessageFragment.java} | 8 ++--- ...ty.java => BlogSharingStatusActivity.java} | 2 +- ...ity.java => ForumInvitationsActivity.java} | 7 ++-- ...r.java => ForumInvitationsController.java} | 2 +- ...va => ForumInvitationsControllerImpl.java} | 6 ++-- ...mActivity.java => ForumShareActivity.java} | 4 +-- ...nt.java => ForumShareMessageFragment.java} | 8 ++--- ...y.java => ForumSharingStatusActivity.java} | 2 +- .../android/sharing/InvitationsActivity.java | 2 +- 29 files changed, 139 insertions(+), 119 deletions(-) rename briar-android/src/org/briarproject/android/privategroup/invitation/{InvitationGroupAdapter.java => GroupInvitationAdapter.java} (91%) rename briar-android/src/org/briarproject/android/privategroup/invitation/{InvitationsGroupActivity.java => GroupInvitationsActivity.java} (79%) rename briar-android/src/org/briarproject/android/privategroup/invitation/{InvitationsGroupController.java => GroupInvitationsController.java} (85%) rename briar-android/src/org/briarproject/android/privategroup/invitation/{InvitationsGroupControllerImpl.java => GroupInvitationsControllerImpl.java} (94%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsBlogActivity.java => BlogInvitationsActivity.java} (85%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsBlogController.java => BlogInvitationsController.java} (79%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsBlogControllerImpl.java => BlogInvitationsControllerImpl.java} (94%) rename briar-android/src/org/briarproject/android/sharing/{ShareBlogActivity.java => BlogShareActivity.java} (92%) rename briar-android/src/org/briarproject/android/sharing/{ShareBlogMessageFragment.java => BlogShareMessageFragment.java} (80%) rename briar-android/src/org/briarproject/android/sharing/{SharingStatusBlogActivity.java => BlogSharingStatusActivity.java} (93%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsForumActivity.java => ForumInvitationsActivity.java} (85%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsForumController.java => ForumInvitationsController.java} (78%) rename briar-android/src/org/briarproject/android/sharing/{InvitationsForumControllerImpl.java => ForumInvitationsControllerImpl.java} (94%) rename briar-android/src/org/briarproject/android/sharing/{ShareForumActivity.java => ForumShareActivity.java} (92%) rename briar-android/src/org/briarproject/android/sharing/{ShareForumMessageFragment.java => ForumShareMessageFragment.java} (79%) rename briar-android/src/org/briarproject/android/sharing/{SharingStatusForumActivity.java => ForumSharingStatusActivity.java} (93%) diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml index 19b30172ce..668b89f24c 100644 --- a/briar-android/AndroidManifest.xml +++ b/briar-android/AndroidManifest.xml @@ -123,7 +123,7 @@ </activity> <activity - android:name=".android.privategroup.invitation.InvitationsGroupActivity" + android:name=".android.privategroup.invitation.GroupInvitationsActivity" android:label="@string/groups_invitations_title" android:parentActivityName=".android.NavDrawerActivity"> <meta-data @@ -133,7 +133,7 @@ </activity> <activity - android:name=".android.sharing.InvitationsForumActivity" + android:name=".android.sharing.ForumInvitationsActivity" android:label="@string/forum_invitations_title" android:parentActivityName=".android.NavDrawerActivity"> <meta-data @@ -143,7 +143,7 @@ </activity> <activity - android:name=".android.sharing.InvitationsBlogActivity" + android:name=".android.sharing.BlogInvitationsActivity" android:label="@string/blogs_sharing_invitations_title" android:parentActivityName=".android.contact.ConversationActivity"> <meta-data @@ -175,7 +175,7 @@ </activity> <activity - android:name=".android.sharing.ShareForumActivity" + android:name=".android.sharing.ForumShareActivity" android:label="@string/activity_share_toolbar_header" android:parentActivityName=".android.forum.ForumActivity" android:windowSoftInputMode="adjustResize|stateHidden"> @@ -186,7 +186,7 @@ </activity> <activity - android:name=".android.sharing.ShareBlogActivity" + android:name=".android.sharing.BlogShareActivity" android:label="@string/activity_share_toolbar_header" android:parentActivityName=".android.blogs.BlogActivity" android:windowSoftInputMode="adjustResize|stateHidden"> @@ -197,7 +197,7 @@ </activity> <activity - android:name=".android.sharing.SharingStatusForumActivity" + android:name=".android.sharing.ForumSharingStatusActivity" android:label="@string/sharing_status" android:parentActivityName=".android.forum.ForumActivity"> <meta-data @@ -207,7 +207,7 @@ </activity> <activity - android:name=".android.sharing.SharingStatusBlogActivity" + android:name=".android.sharing.BlogSharingStatusActivity" android:label="@string/sharing_status" android:parentActivityName=".android.blogs.BlogActivity"> <meta-data diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml index c82dab5efc..878b281e48 100644 --- a/briar-android/res/values/strings.xml +++ b/briar-android/res/values/strings.xml @@ -171,8 +171,8 @@ <string name="groups_invitations_title">Group Invitations</string> <string name="groups_invitations_invitation_sent">You have invited %1$s to your group "%2$s".</string> <string name="groups_invitations_invitation_received">%1$s has invited you to join the group "%2$s".</string> - <string name="groups_invitations_joined">Joined Group</string> - <string name="groups_invitations_declined">Group Invitation Declined</string> + <string name="groups_invitations_joined">Joined group</string> + <string name="groups_invitations_declined">Group invitation declined</string> <plurals name="groups_invitations_open"> <item quantity="one">%d open group invitation</item> <item quantity="other">%d open group invitations</item> diff --git a/briar-android/src/org/briarproject/android/ActivityComponent.java b/briar-android/src/org/briarproject/android/ActivityComponent.java index 61889b113e..ef81325fca 100644 --- a/briar-android/src/org/briarproject/android/ActivityComponent.java +++ b/briar-android/src/org/briarproject/android/ActivityComponent.java @@ -33,16 +33,16 @@ import org.briarproject.android.privategroup.creation.CreateGroupFragment; import org.briarproject.android.privategroup.conversation.GroupActivity; import org.briarproject.android.privategroup.creation.CreateGroupMessageFragment; import org.briarproject.android.privategroup.list.GroupListFragment; -import org.briarproject.android.privategroup.invitation.InvitationsGroupActivity; +import org.briarproject.android.privategroup.invitation.GroupInvitationsActivity; +import org.briarproject.android.sharing.BlogShareActivity; +import org.briarproject.android.sharing.BlogSharingStatusActivity; import org.briarproject.android.sharing.ContactSelectorFragment; -import org.briarproject.android.sharing.InvitationsBlogActivity; -import org.briarproject.android.sharing.InvitationsForumActivity; -import org.briarproject.android.sharing.ShareBlogActivity; -import org.briarproject.android.sharing.ShareBlogMessageFragment; -import org.briarproject.android.sharing.ShareForumActivity; -import org.briarproject.android.sharing.ShareForumMessageFragment; -import org.briarproject.android.sharing.SharingStatusBlogActivity; -import org.briarproject.android.sharing.SharingStatusForumActivity; +import org.briarproject.android.sharing.BlogInvitationsActivity; +import org.briarproject.android.sharing.ForumInvitationsActivity; +import org.briarproject.android.sharing.ForumShareMessageFragment; +import org.briarproject.android.sharing.ForumSharingStatusActivity; +import org.briarproject.android.sharing.BlogShareMessageFragment; +import org.briarproject.android.sharing.ForumShareActivity; import org.thoughtcrime.securesms.components.emoji.EmojiProvider; import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel; @@ -73,23 +73,23 @@ public interface ActivityComponent { void inject(ConversationActivity activity); - void inject(InvitationsForumActivity activity); + void inject(ForumInvitationsActivity activity); - void inject(InvitationsBlogActivity activity); + void inject(BlogInvitationsActivity activity); void inject(CreateGroupActivity activity); void inject(GroupActivity activity); - void inject(InvitationsGroupActivity activity); + void inject(GroupInvitationsActivity activity); void inject(CreateForumActivity activity); - void inject(ShareForumActivity activity); + void inject(ForumShareActivity activity); - void inject(ShareBlogActivity activity); + void inject(BlogShareActivity activity); - void inject(SharingStatusForumActivity activity); + void inject(ForumSharingStatusActivity activity); - void inject(SharingStatusBlogActivity activity); + void inject(BlogSharingStatusActivity activity); void inject(ForumActivity activity); @@ -133,8 +133,8 @@ public interface ActivityComponent { void inject(ShowQrCodeFragment fragment); void inject(ContactChooserFragment fragment); void inject(ContactSelectorFragment fragment); - void inject(ShareForumMessageFragment fragment); - void inject(ShareBlogMessageFragment fragment); + void inject(ForumShareMessageFragment fragment); + void inject(BlogShareMessageFragment fragment); void inject(IntroductionMessageFragment fragment); } diff --git a/briar-android/src/org/briarproject/android/ActivityModule.java b/briar-android/src/org/briarproject/android/ActivityModule.java index 39d460151a..da179e4b60 100644 --- a/briar-android/src/org/briarproject/android/ActivityModule.java +++ b/briar-android/src/org/briarproject/android/ActivityModule.java @@ -25,14 +25,14 @@ import org.briarproject.android.privategroup.conversation.GroupController; import org.briarproject.android.privategroup.conversation.GroupControllerImpl; import org.briarproject.android.privategroup.creation.CreateGroupController; import org.briarproject.android.privategroup.creation.CreateGroupControllerImpl; -import org.briarproject.android.privategroup.invitation.InvitationsGroupController; -import org.briarproject.android.privategroup.invitation.InvitationsGroupControllerImpl; +import org.briarproject.android.privategroup.invitation.GroupInvitationsController; +import org.briarproject.android.privategroup.invitation.GroupInvitationsControllerImpl; import org.briarproject.android.privategroup.list.GroupListController; import org.briarproject.android.privategroup.list.GroupListControllerImpl; -import org.briarproject.android.sharing.InvitationsBlogController; -import org.briarproject.android.sharing.InvitationsBlogControllerImpl; -import org.briarproject.android.sharing.InvitationsForumController; -import org.briarproject.android.sharing.InvitationsForumControllerImpl; +import org.briarproject.android.sharing.BlogInvitationsController; +import org.briarproject.android.sharing.BlogInvitationsControllerImpl; +import org.briarproject.android.sharing.ForumInvitationsController; +import org.briarproject.android.sharing.ForumInvitationsControllerImpl; import dagger.Module; import dagger.Provides; @@ -125,8 +125,8 @@ public class ActivityModule { @ActivityScope @Provides - protected InvitationsGroupController provideInvitationsGroupController( - InvitationsGroupControllerImpl invitationsGroupController) { + protected GroupInvitationsController provideInvitationsGroupController( + GroupInvitationsControllerImpl invitationsGroupController) { return invitationsGroupController; } @@ -140,16 +140,16 @@ public class ActivityModule { @ActivityScope @Provides - protected InvitationsForumController provideInvitationsForumController( - InvitationsForumControllerImpl invitationsForumController) { + protected ForumInvitationsController provideInvitationsForumController( + ForumInvitationsControllerImpl invitationsForumController) { activity.addLifecycleController(invitationsForumController); return invitationsForumController; } @ActivityScope @Provides - protected InvitationsBlogController provideInvitationsBlogController( - InvitationsBlogControllerImpl invitationsBlogController) { + protected BlogInvitationsController provideInvitationsBlogController( + BlogInvitationsControllerImpl invitationsBlogController) { activity.addLifecycleController(invitationsBlogController); return invitationsBlogController; } diff --git a/briar-android/src/org/briarproject/android/blogs/BlogFragment.java b/briar-android/src/org/briarproject/android/blogs/BlogFragment.java index 8809864d55..9627bf22a1 100644 --- a/briar-android/src/org/briarproject/android/blogs/BlogFragment.java +++ b/briar-android/src/org/briarproject/android/blogs/BlogFragment.java @@ -23,8 +23,8 @@ import org.briarproject.android.blogs.BaseController.OnBlogPostAddedListener; import org.briarproject.android.blogs.BlogPostAdapter.OnBlogPostClickListener; import org.briarproject.android.controller.handler.UiResultExceptionHandler; import org.briarproject.android.fragment.BaseFragment; -import org.briarproject.android.sharing.ShareBlogActivity; -import org.briarproject.android.sharing.SharingStatusBlogActivity; +import org.briarproject.android.sharing.BlogShareActivity; +import org.briarproject.android.sharing.BlogSharingStatusActivity; import org.briarproject.android.view.BriarRecyclerView; import org.briarproject.api.blogs.BlogPostHeader; import org.briarproject.api.db.DbException; @@ -157,14 +157,14 @@ public class BlogFragment extends BaseFragment implements options.toBundle()); return true; case R.id.action_blog_share: - Intent i2 = new Intent(getActivity(), ShareBlogActivity.class); + Intent i2 = new Intent(getActivity(), BlogShareActivity.class); i2.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP); i2.putExtra(GROUP_ID, groupId.getBytes()); startActivityForResult(i2, REQUEST_SHARE, options.toBundle()); return true; case R.id.action_blog_sharing_status: Intent i3 = new Intent(getActivity(), - SharingStatusBlogActivity.class); + BlogSharingStatusActivity.class); i3.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP); i3.putExtra(GROUP_ID, groupId.getBytes()); startActivity(i3, options.toBundle()); diff --git a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java index a5c7aef1df..9f5d23971e 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java @@ -22,6 +22,7 @@ import org.briarproject.android.api.AndroidNotificationManager; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.keyagreement.KeyAgreementActivity; import org.briarproject.android.view.BriarRecyclerView; +import org.briarproject.api.clients.BaseMessageHeader; import org.briarproject.api.clients.MessageTracker.GroupCount; import org.briarproject.api.contact.Contact; import org.briarproject.api.contact.ContactId; @@ -270,39 +271,35 @@ public class ContactListFragment extends BaseFragment implements EventListener { LOG.info("Private message received, updating item"); PrivateMessageReceivedEvent p = (PrivateMessageReceivedEvent) e; PrivateMessageHeader h = p.getMessageHeader(); - updateItem(p.getContactId(), ConversationItem.from(h)); + updateItem(p.getContactId(), h); } else if (e instanceof IntroductionRequestReceivedEvent) { LOG.info("Introduction request received, updating item"); IntroductionRequestReceivedEvent m = (IntroductionRequestReceivedEvent) e; IntroductionRequest ir = m.getIntroductionRequest(); - updateItem(m.getContactId(), - ConversationItem.from(getContext(), "", ir)); + updateItem(m.getContactId(), ir); } else if (e instanceof IntroductionResponseReceivedEvent) { LOG.info("Introduction response received, updating item"); IntroductionResponseReceivedEvent m = (IntroductionResponseReceivedEvent) e; IntroductionResponse ir = m.getIntroductionResponse(); - updateItem(m.getContactId(), - ConversationItem.from(getContext(), "", ir)); + updateItem(m.getContactId(), ir); } else if (e instanceof InvitationRequestReceivedEvent) { LOG.info("Invitation Request received, update item"); InvitationRequestReceivedEvent m = (InvitationRequestReceivedEvent) e; InvitationRequest ir = m.getRequest(); - updateItem(m.getContactId(), - ConversationItem.from(getContext(), "", ir)); + updateItem(m.getContactId(), ir); } else if (e instanceof InvitationResponseReceivedEvent) { LOG.info("Invitation response received, updating item"); InvitationResponseReceivedEvent m = (InvitationResponseReceivedEvent) e; InvitationResponse ir = m.getResponse(); - updateItem(m.getContactId(), - ConversationItem.from(getContext(), "", ir)); + updateItem(m.getContactId(), ir); } } - private void updateItem(final ContactId c, final ConversationItem m) { + private void updateItem(final ContactId c, final BaseMessageHeader h) { listener.runOnUiThreadUnlessDestroyed(new Runnable() { @Override public void run() { @@ -310,7 +307,8 @@ public class ContactListFragment extends BaseFragment implements EventListener { int position = adapter.findItemPosition(c); ContactListItem item = adapter.getItemAt(position); if (item != null) { - item.addMessage(m); + ConversationItem i = ConversationItem.from(getContext(), h); + item.addMessage(i); adapter.updateItemAt(position, item); } } diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index ea618642f3..311bcd1c85 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -76,6 +76,7 @@ import org.briarproject.api.sharing.InvitationResponse; import org.briarproject.api.sync.GroupId; import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.Collection; @@ -418,15 +419,13 @@ public class ConversationActivity extends BriarActivity for (IntroductionMessage m : introductions) { ConversationItem item; if (m instanceof IntroductionRequest) { + IntroductionRequest i = (IntroductionRequest) m; item = ConversationItem - .from(ConversationActivity.this, - contactName, - (IntroductionRequest) m); + .from(ConversationActivity.this, contactName, i); } else { + IntroductionResponse i = (IntroductionResponse) m; item = ConversationItem - .from(ConversationActivity.this, - contactName, - (IntroductionResponse) m); + .from(ConversationActivity.this, contactName, i); } items.add(item); } @@ -435,13 +434,11 @@ public class ConversationActivity extends BriarActivity if (i instanceof InvitationRequest) { InvitationRequest r = (InvitationRequest) i; item = ConversationItem - .from(ConversationActivity.this, - contactName, r); + .from(ConversationActivity.this, contactName, r); } else { InvitationResponse r = (InvitationResponse) i; item = ConversationItem - .from(ConversationActivity.this, - contactName, r); + .from(ConversationActivity.this, contactName, r); } items.add(item); } @@ -581,7 +578,7 @@ public class ConversationActivity extends BriarActivity LOG.info("Introduction request received, adding..."); IntroductionRequest ir = event.getIntroductionRequest(); ConversationItem item = - ConversationRequestItem.from(this, contactName, ir); + ConversationItem.from(this, contactName, ir); addConversationItem(item); } } else if (e instanceof IntroductionResponseReceivedEvent) { @@ -836,7 +833,7 @@ public class ConversationActivity extends BriarActivity @UiThread @Override - public void respondToRequest(final ConversationRequestItem item, + public void respondToRequest(@NotNull final ConversationRequestItem item, final boolean accept) { int position = adapter.findItemPosition(item); if (position != INVALID_POSITION) { @@ -866,6 +863,7 @@ public class ConversationActivity extends BriarActivity throw new IllegalArgumentException( "Unknown Request Type"); } + loadMessages(); } catch (DbException | FormatException e) { introductionResponseError(); if (LOG.isLoggable(WARNING)) @@ -884,28 +882,24 @@ public class ConversationActivity extends BriarActivity } else { introductionManager.declineIntroduction(contactId, sessionId, time); } - loadMessages(); } @DatabaseExecutor private void respondToForumRequest(SessionId id, boolean accept) throws DbException { forumSharingManager.respondToInvitation(id, accept); - loadMessages(); } @DatabaseExecutor private void respondToBlogRequest(SessionId id, boolean accept) throws DbException { blogSharingManager.respondToInvitation(id, accept); - loadMessages(); } @DatabaseExecutor private void respondToGroupRequest(SessionId id, boolean accept) throws DbException { groupInvitationManager.respondToInvitation(id, accept); - loadMessages(); } private void introductionResponseError() { diff --git a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java index 85711eb6b2..e368fa029b 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java @@ -3,6 +3,7 @@ package org.briarproject.android.contact; import android.content.Context; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; +import android.support.annotation.UiThread; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; @@ -10,6 +11,7 @@ import android.view.ViewGroup; import org.briarproject.R; import org.briarproject.android.util.BriarAdapter; +import org.briarproject.api.nullsafety.NotNullByDefault; class ConversationAdapter extends BriarAdapter<ConversationItem, ConversationItemViewHolder> { @@ -140,6 +142,8 @@ class ConversationAdapter return messages; } + @UiThread + @NotNullByDefault interface RequestListener { void respondToRequest(ConversationRequestItem item, boolean accept); } diff --git a/briar-android/src/org/briarproject/android/contact/ConversationItem.java b/briar-android/src/org/briarproject/android/contact/ConversationItem.java index e687935f2d..7d5416e5cd 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationItem.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationItem.java @@ -7,6 +7,7 @@ import org.briarproject.R; import org.briarproject.android.contact.ConversationRequestItem.RequestType; import org.briarproject.api.blogs.BlogInvitationRequest; import org.briarproject.api.blogs.BlogInvitationResponse; +import org.briarproject.api.clients.BaseMessageHeader; import org.briarproject.api.forum.ForumInvitationRequest; import org.briarproject.api.forum.ForumInvitationResponse; import org.briarproject.api.introduction.IntroductionRequest; @@ -32,9 +33,9 @@ import static org.briarproject.android.contact.ConversationRequestItem.RequestTy @NotNullByDefault abstract class ConversationItem { + protected @Nullable String text; final private MessageId id; final private GroupId groupId; - protected @Nullable String text; final private long time; ConversationItem(MessageId id, GroupId groupId, @@ -257,6 +258,27 @@ abstract class ConversationItem { } } + /** + * This method should not be used to display the resulting ConversationItem + * in the UI, but only to update list information based on the + * BaseMessageHeader. + **/ + static ConversationItem from(Context ctx, BaseMessageHeader h) { + if (h instanceof PrivateMessageHeader) { + return from((PrivateMessageHeader) h); + } else if(h instanceof IntroductionRequest) { + return from(ctx, "", (IntroductionRequest) h); + } else if(h instanceof IntroductionResponse) { + return from(ctx, "", (IntroductionResponse) h); + } else if(h instanceof InvitationRequest) { + return from(ctx, "", (InvitationRequest) h); + } else if(h instanceof InvitationResponse) { + return from(ctx, "", (InvitationResponse) h); + } else { + throw new IllegalArgumentException("Unknown message header"); + } + } + interface PartialItem { @Nullable diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java index 12487efc94..70ac435ef9 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java @@ -18,8 +18,8 @@ import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.ActivityComponent; import org.briarproject.android.controller.handler.UiResultExceptionHandler; -import org.briarproject.android.sharing.ShareForumActivity; -import org.briarproject.android.sharing.SharingStatusForumActivity; +import org.briarproject.android.sharing.ForumShareActivity; +import org.briarproject.android.sharing.ForumSharingStatusActivity; import org.briarproject.android.threaded.ThreadListActivity; import org.briarproject.android.threaded.ThreadListController; import org.briarproject.api.db.DbException; @@ -107,14 +107,14 @@ public class ForumActivity extends showTextInput(null); return true; case R.id.action_forum_share: - Intent i2 = new Intent(this, ShareForumActivity.class); + Intent i2 = new Intent(this, ForumShareActivity.class); i2.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP); i2.putExtra(GROUP_ID, groupId.getBytes()); ActivityCompat.startActivityForResult(this, i2, REQUEST_FORUM_SHARED, options.toBundle()); return true; case R.id.action_forum_sharing_status: - Intent i3 = new Intent(this, SharingStatusForumActivity.class); + Intent i3 = new Intent(this, ForumSharingStatusActivity.class); i3.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP); i3.putExtra(GROUP_ID, groupId.getBytes()); ActivityCompat.startActivity(this, i3, options.toBundle()); diff --git a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java index 779fac49bb..5fb34c4c2b 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java @@ -18,7 +18,7 @@ import org.briarproject.R; import org.briarproject.android.ActivityComponent; import org.briarproject.android.api.AndroidNotificationManager; import org.briarproject.android.fragment.BaseEventFragment; -import org.briarproject.android.sharing.InvitationsForumActivity; +import org.briarproject.android.sharing.ForumInvitationsActivity; import org.briarproject.android.view.BriarRecyclerView; import org.briarproject.api.clients.MessageTracker.GroupCount; import org.briarproject.api.db.DbException; @@ -286,7 +286,7 @@ public class ForumListFragment extends BaseEventFragment implements @Override public void onClick(View view) { // snackbar click - Intent i = new Intent(getContext(), InvitationsForumActivity.class); + Intent i = new Intent(getContext(), ForumInvitationsActivity.class); startActivity(i); } } diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationGroupAdapter.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationAdapter.java similarity index 91% rename from briar-android/src/org/briarproject/android/privategroup/invitation/InvitationGroupAdapter.java rename to briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationAdapter.java index 7a53d48bd6..9c818b6807 100644 --- a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationGroupAdapter.java +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationAdapter.java @@ -6,10 +6,10 @@ import android.view.ViewGroup; import org.briarproject.android.sharing.InvitationAdapter; import org.briarproject.api.privategroup.invitation.GroupInvitationItem; -class InvitationGroupAdapter extends +class GroupInvitationAdapter extends InvitationAdapter<GroupInvitationItem, GroupInvitationViewHolder> { - InvitationGroupAdapter(Context ctx, + GroupInvitationAdapter(Context ctx, InvitationClickListener<GroupInvitationItem> listener) { super(ctx, GroupInvitationItem.class, listener); } diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupActivity.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsActivity.java similarity index 79% rename from briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupActivity.java rename to briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsActivity.java index 2815e6fb39..97b8f5d3d9 100644 --- a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupActivity.java +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsActivity.java @@ -12,11 +12,11 @@ import javax.inject.Inject; import static org.briarproject.android.sharing.InvitationAdapter.InvitationClickListener; -public class InvitationsGroupActivity +public class GroupInvitationsActivity extends InvitationsActivity<GroupInvitationItem> { @Inject - protected InvitationsGroupController controller; + protected GroupInvitationsController controller; @Override public void injectActivity(ActivityComponent component) { @@ -24,14 +24,14 @@ public class InvitationsGroupActivity } @Override - protected InvitationsGroupController getController() { + protected GroupInvitationsController getController() { return controller; } @Override protected InvitationAdapter<GroupInvitationItem, ?> getAdapter(Context ctx, - InvitationClickListener listener) { - return new InvitationGroupAdapter(ctx, listener); + InvitationClickListener<GroupInvitationItem> listener) { + return new GroupInvitationAdapter(ctx, listener); } @Override diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupController.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsController.java similarity index 85% rename from briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupController.java rename to briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsController.java index f158064ba5..c50c805a19 100644 --- a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupController.java +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsController.java @@ -3,6 +3,6 @@ package org.briarproject.android.privategroup.invitation; import org.briarproject.android.sharing.InvitationsController; import org.briarproject.api.privategroup.invitation.GroupInvitationItem; -public interface InvitationsGroupController +public interface GroupInvitationsController extends InvitationsController<GroupInvitationItem> { } diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsControllerImpl.java similarity index 94% rename from briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupControllerImpl.java rename to briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsControllerImpl.java index 0bde16e851..4a78d4401c 100644 --- a/briar-android/src/org/briarproject/android/privategroup/invitation/InvitationsGroupControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationsControllerImpl.java @@ -22,15 +22,15 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; -public class InvitationsGroupControllerImpl +public class GroupInvitationsControllerImpl extends InvitationsControllerImpl<GroupInvitationItem> - implements InvitationsGroupController { + implements GroupInvitationsController { private final PrivateGroupManager privateGroupManager; private final GroupInvitationManager groupInvitationManager; @Inject - InvitationsGroupControllerImpl(@DatabaseExecutor Executor dbExecutor, + GroupInvitationsControllerImpl(@DatabaseExecutor Executor dbExecutor, LifecycleManager lifecycleManager, EventBus eventBus, PrivateGroupManager privateGroupManager, GroupInvitationManager groupInvitationManager) { diff --git a/briar-android/src/org/briarproject/android/privategroup/list/GroupListFragment.java b/briar-android/src/org/briarproject/android/privategroup/list/GroupListFragment.java index 597e8b1205..b97d51bf57 100644 --- a/briar-android/src/org/briarproject/android/privategroup/list/GroupListFragment.java +++ b/briar-android/src/org/briarproject/android/privategroup/list/GroupListFragment.java @@ -21,7 +21,7 @@ import org.briarproject.android.ActivityComponent; import org.briarproject.android.controller.handler.UiResultExceptionHandler; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.privategroup.creation.CreateGroupActivity; -import org.briarproject.android.privategroup.invitation.InvitationsGroupActivity; +import org.briarproject.android.privategroup.invitation.GroupInvitationsActivity; import org.briarproject.android.privategroup.list.GroupListController.GroupListListener; import org.briarproject.android.privategroup.list.GroupViewHolder.OnGroupRemoveClickListener; import org.briarproject.android.view.BriarRecyclerView; @@ -221,7 +221,7 @@ public class GroupListFragment extends BaseFragment implements */ @Override public void onClick(View v) { - Intent i = new Intent(getContext(), InvitationsGroupActivity.class); + Intent i = new Intent(getContext(), GroupInvitationsActivity.class); ActivityOptionsCompat options = makeCustomAnimation(getActivity(), android.R.anim.slide_in_left, diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogActivity.java b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsActivity.java similarity index 85% rename from briar-android/src/org/briarproject/android/sharing/InvitationsBlogActivity.java rename to briar-android/src/org/briarproject/android/sharing/BlogInvitationsActivity.java index da7d014e08..542c0be7a9 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsActivity.java @@ -10,11 +10,11 @@ import javax.inject.Inject; import static org.briarproject.android.sharing.InvitationAdapter.InvitationClickListener; -public class InvitationsBlogActivity +public class BlogInvitationsActivity extends InvitationsActivity<SharingInvitationItem> { @Inject - InvitationsBlogController controller; + BlogInvitationsController controller; @Override public void injectActivity(ActivityComponent component) { @@ -28,7 +28,8 @@ public class InvitationsBlogActivity @Override protected InvitationAdapter<SharingInvitationItem, ?> getAdapter( - Context ctx, InvitationClickListener listener) { + Context ctx, + InvitationClickListener<SharingInvitationItem> listener) { return new SharingInvitationAdapter(ctx, listener); } diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogController.java b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsController.java similarity index 79% rename from briar-android/src/org/briarproject/android/sharing/InvitationsBlogController.java rename to briar-android/src/org/briarproject/android/sharing/BlogInvitationsController.java index 4efcff5cf3..057069c85b 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogController.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsController.java @@ -2,6 +2,6 @@ package org.briarproject.android.sharing; import org.briarproject.api.sharing.SharingInvitationItem; -public interface InvitationsBlogController +public interface BlogInvitationsController extends InvitationsController<SharingInvitationItem> { } diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsControllerImpl.java similarity index 94% rename from briar-android/src/org/briarproject/android/sharing/InvitationsBlogControllerImpl.java rename to briar-android/src/org/briarproject/android/sharing/BlogInvitationsControllerImpl.java index 024109f7ed..56e2a6ca1d 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsBlogControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogInvitationsControllerImpl.java @@ -21,15 +21,15 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; -public class InvitationsBlogControllerImpl +public class BlogInvitationsControllerImpl extends InvitationsControllerImpl<SharingInvitationItem> - implements InvitationsBlogController { + implements BlogInvitationsController { private final BlogManager blogManager; private final BlogSharingManager blogSharingManager; @Inject - InvitationsBlogControllerImpl(@DatabaseExecutor Executor dbExecutor, + BlogInvitationsControllerImpl(@DatabaseExecutor Executor dbExecutor, LifecycleManager lifecycleManager, EventBus eventBus, BlogManager blogManager, BlogSharingManager blogSharingManager) { super(dbExecutor, lifecycleManager, eventBus); diff --git a/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java b/briar-android/src/org/briarproject/android/sharing/BlogShareActivity.java similarity index 92% rename from briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java rename to briar-android/src/org/briarproject/android/sharing/BlogShareActivity.java index 7d5cdeef3e..d885c24b57 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareBlogActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogShareActivity.java @@ -12,7 +12,7 @@ import javax.inject.Inject; import static org.briarproject.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; -public class ShareBlogActivity extends ShareActivity { +public class BlogShareActivity extends ShareActivity { // Fields that are accessed from background threads must be volatile @Inject @@ -20,7 +20,7 @@ public class ShareBlogActivity extends ShareActivity { @Override BaseMessageFragment getMessageFragment() { - return ShareBlogMessageFragment.newInstance(); + return BlogShareMessageFragment.newInstance(); } @Override diff --git a/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/BlogShareMessageFragment.java similarity index 80% rename from briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java rename to briar-android/src/org/briarproject/android/sharing/BlogShareMessageFragment.java index ccee4d8fec..507ea17a2c 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareBlogMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogShareMessageFragment.java @@ -9,12 +9,12 @@ import android.view.ViewGroup; import org.briarproject.R; import org.briarproject.android.ActivityComponent; -public class ShareBlogMessageFragment extends BaseMessageFragment { +public class BlogShareMessageFragment extends BaseMessageFragment { - public final static String TAG = ShareBlogMessageFragment.class.getName(); + public final static String TAG = BlogShareMessageFragment.class.getName(); - public static ShareBlogMessageFragment newInstance() { - return new ShareBlogMessageFragment(); + public static BlogShareMessageFragment newInstance() { + return new BlogShareMessageFragment(); } @Override diff --git a/briar-android/src/org/briarproject/android/sharing/SharingStatusBlogActivity.java b/briar-android/src/org/briarproject/android/sharing/BlogSharingStatusActivity.java similarity index 93% rename from briar-android/src/org/briarproject/android/sharing/SharingStatusBlogActivity.java rename to briar-android/src/org/briarproject/android/sharing/BlogSharingStatusActivity.java index 5c7be6deea..fed2c2a5af 100644 --- a/briar-android/src/org/briarproject/android/sharing/SharingStatusBlogActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogSharingStatusActivity.java @@ -9,7 +9,7 @@ import java.util.Collection; import javax.inject.Inject; -public class SharingStatusBlogActivity extends SharingStatusActivity { +public class BlogSharingStatusActivity extends SharingStatusActivity { // Fields that are accessed from background threads must be volatile @Inject diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsForumActivity.java b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsActivity.java similarity index 85% rename from briar-android/src/org/briarproject/android/sharing/InvitationsForumActivity.java rename to briar-android/src/org/briarproject/android/sharing/ForumInvitationsActivity.java index 1c32ee1125..fdba34c445 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsForumActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsActivity.java @@ -10,11 +10,11 @@ import javax.inject.Inject; import static org.briarproject.android.sharing.InvitationAdapter.InvitationClickListener; -public class InvitationsForumActivity +public class ForumInvitationsActivity extends InvitationsActivity<SharingInvitationItem> { @Inject - InvitationsForumController controller; + ForumInvitationsController controller; @Override public void injectActivity(ActivityComponent component) { @@ -28,7 +28,8 @@ public class InvitationsForumActivity @Override protected InvitationAdapter<SharingInvitationItem, ?> getAdapter( - Context ctx, InvitationClickListener listener) { + Context ctx, + InvitationClickListener<SharingInvitationItem> listener) { return new SharingInvitationAdapter(ctx, listener); } diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsForumController.java b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsController.java similarity index 78% rename from briar-android/src/org/briarproject/android/sharing/InvitationsForumController.java rename to briar-android/src/org/briarproject/android/sharing/ForumInvitationsController.java index e58c4a41c7..93470bb0d2 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsForumController.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsController.java @@ -2,6 +2,6 @@ package org.briarproject.android.sharing; import org.briarproject.api.sharing.SharingInvitationItem; -public interface InvitationsForumController +public interface ForumInvitationsController extends InvitationsController<SharingInvitationItem> { } diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsForumControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsControllerImpl.java similarity index 94% rename from briar-android/src/org/briarproject/android/sharing/InvitationsForumControllerImpl.java rename to briar-android/src/org/briarproject/android/sharing/ForumInvitationsControllerImpl.java index 25f672460a..9bc371259f 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsForumControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumInvitationsControllerImpl.java @@ -21,15 +21,15 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; -public class InvitationsForumControllerImpl +public class ForumInvitationsControllerImpl extends InvitationsControllerImpl<SharingInvitationItem> - implements InvitationsForumController { + implements ForumInvitationsController { private final ForumManager forumManager; private final ForumSharingManager forumSharingManager; @Inject - InvitationsForumControllerImpl(@DatabaseExecutor Executor dbExecutor, + ForumInvitationsControllerImpl(@DatabaseExecutor Executor dbExecutor, LifecycleManager lifecycleManager, EventBus eventBus, ForumManager forumManager, ForumSharingManager forumSharingManager) { diff --git a/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java b/briar-android/src/org/briarproject/android/sharing/ForumShareActivity.java similarity index 92% rename from briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java rename to briar-android/src/org/briarproject/android/sharing/ForumShareActivity.java index 492e3615b2..598d3b3dcc 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareForumActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumShareActivity.java @@ -12,7 +12,7 @@ import javax.inject.Inject; import static org.briarproject.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH; -public class ShareForumActivity extends ShareActivity { +public class ForumShareActivity extends ShareActivity { // Fields that are accessed from background threads must be volatile @Inject @@ -20,7 +20,7 @@ public class ShareForumActivity extends ShareActivity { @Override BaseMessageFragment getMessageFragment() { - return ShareForumMessageFragment.newInstance(); + return ForumShareMessageFragment.newInstance(); } @Override diff --git a/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java b/briar-android/src/org/briarproject/android/sharing/ForumShareMessageFragment.java similarity index 79% rename from briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java rename to briar-android/src/org/briarproject/android/sharing/ForumShareMessageFragment.java index a3faeb630d..56f6b6d9ad 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareForumMessageFragment.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumShareMessageFragment.java @@ -9,12 +9,12 @@ import android.view.ViewGroup; import org.briarproject.R; import org.briarproject.android.ActivityComponent; -public class ShareForumMessageFragment extends BaseMessageFragment { +public class ForumShareMessageFragment extends BaseMessageFragment { - public final static String TAG = ShareForumMessageFragment.class.getName(); + public final static String TAG = ForumShareMessageFragment.class.getName(); - public static ShareForumMessageFragment newInstance() { - return new ShareForumMessageFragment(); + public static ForumShareMessageFragment newInstance() { + return new ForumShareMessageFragment(); } @Override diff --git a/briar-android/src/org/briarproject/android/sharing/SharingStatusForumActivity.java b/briar-android/src/org/briarproject/android/sharing/ForumSharingStatusActivity.java similarity index 93% rename from briar-android/src/org/briarproject/android/sharing/SharingStatusForumActivity.java rename to briar-android/src/org/briarproject/android/sharing/ForumSharingStatusActivity.java index ef3b333a0a..be51ab2cf4 100644 --- a/briar-android/src/org/briarproject/android/sharing/SharingStatusForumActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumSharingStatusActivity.java @@ -9,7 +9,7 @@ import java.util.Collection; import javax.inject.Inject; -public class SharingStatusForumActivity extends SharingStatusActivity { +public class ForumSharingStatusActivity extends SharingStatusActivity { // Fields that are accessed from background threads must be volatile @Inject diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java b/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java index a8313f56d5..59c134236f 100644 --- a/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java +++ b/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java @@ -45,7 +45,7 @@ public abstract class InvitationsActivity<I extends InvitationItem> } abstract protected InvitationAdapter<I, ?> getAdapter(Context ctx, - InvitationClickListener listener); + InvitationClickListener<I> listener); @Override public void onStart() { -- GitLab