diff --git a/briar-android/src/org/briarproject/android/ActivityComponent.java b/briar-android/src/org/briarproject/android/ActivityComponent.java index a8b3dee8b96705d920673fa205b7765502e86328..7f5b272848905c73f66dfc20263bd60d01dc527a 100644 --- a/briar-android/src/org/briarproject/android/ActivityComponent.java +++ b/briar-android/src/org/briarproject/android/ActivityComponent.java @@ -4,6 +4,7 @@ import android.app.Activity; import org.briarproject.android.blogs.BlogActivity; import org.briarproject.android.blogs.BlogFragment; +import org.briarproject.android.blogs.BlogModule; import org.briarproject.android.blogs.BlogPostFragment; import org.briarproject.android.blogs.BlogPostPagerFragment; import org.briarproject.android.blogs.FeedFragment; @@ -15,10 +16,12 @@ import org.briarproject.android.blogs.RssFeedImportActivity; import org.briarproject.android.blogs.RssFeedManageActivity; import org.briarproject.android.blogs.WriteBlogPostActivity; import org.briarproject.android.contact.ContactListFragment; +import org.briarproject.android.contact.ContactModule; import org.briarproject.android.contact.ConversationActivity; import org.briarproject.android.forum.CreateForumActivity; import org.briarproject.android.forum.ForumActivity; import org.briarproject.android.forum.ForumListFragment; +import org.briarproject.android.forum.ForumModule; import org.briarproject.android.introduction.ContactChooserFragment; import org.briarproject.android.introduction.IntroductionActivity; import org.briarproject.android.introduction.IntroductionMessageFragment; @@ -29,14 +32,20 @@ import org.briarproject.android.keyagreement.ShowQrCodeFragment; import org.briarproject.android.panic.PanicPreferencesActivity; import org.briarproject.android.panic.PanicResponderActivity; import org.briarproject.android.privategroup.conversation.GroupActivity; +import org.briarproject.android.privategroup.conversation.GroupConversationModule; import org.briarproject.android.privategroup.creation.CreateGroupActivity; import org.briarproject.android.privategroup.creation.CreateGroupFragment; import org.briarproject.android.privategroup.creation.CreateGroupMessageFragment; +import org.briarproject.android.privategroup.creation.GroupCreateModule; import org.briarproject.android.privategroup.creation.GroupInviteActivity; import org.briarproject.android.privategroup.creation.GroupInviteFragment; import org.briarproject.android.privategroup.invitation.GroupInvitationActivity; +import org.briarproject.android.privategroup.invitation.GroupInvitationModule; import org.briarproject.android.privategroup.list.GroupListFragment; +import org.briarproject.android.privategroup.list.GroupListModule; import org.briarproject.android.privategroup.memberlist.GroupMemberListActivity; +import org.briarproject.android.privategroup.memberlist.GroupMemberModule; +import org.briarproject.android.privategroup.reveal.GroupRevealModule; import org.briarproject.android.privategroup.reveal.RevealContactsActivity; import org.briarproject.android.privategroup.reveal.RevealContactsFragment; import org.briarproject.android.sharing.BlogInvitationActivity; @@ -49,13 +58,19 @@ import org.briarproject.android.sharing.ShareBlogMessageFragment; import org.briarproject.android.sharing.ShareForumActivity; import org.briarproject.android.sharing.ShareForumFragment; import org.briarproject.android.sharing.ShareForumMessageFragment; +import org.briarproject.android.sharing.SharingModule; import org.thoughtcrime.securesms.components.emoji.EmojiProvider; import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel; import dagger.Component; @ActivityScope -@Component(modules = ActivityModule.class, +@Component( + modules = {ActivityModule.class, ForumModule.class, SharingModule.class, + BlogModule.class, ContactModule.class, GroupListModule.class, + GroupCreateModule.class, GroupInvitationModule.class, + GroupConversationModule.class, GroupMemberModule.class, + GroupRevealModule.class}, dependencies = AndroidComponent.class) public interface ActivityComponent { diff --git a/briar-android/src/org/briarproject/android/ActivityModule.java b/briar-android/src/org/briarproject/android/ActivityModule.java index 4f17c24bc6596b48a663a019ad7c9c013453f993..0402ef56fc46948dd0d29b508e433d462cd005af 100644 --- a/briar-android/src/org/briarproject/android/ActivityModule.java +++ b/briar-android/src/org/briarproject/android/ActivityModule.java @@ -3,10 +3,6 @@ package org.briarproject.android; import android.app.Activity; import android.content.SharedPreferences; -import org.briarproject.android.blogs.BlogController; -import org.briarproject.android.blogs.BlogControllerImpl; -import org.briarproject.android.blogs.FeedController; -import org.briarproject.android.blogs.FeedControllerImpl; import org.briarproject.android.controller.BriarController; import org.briarproject.android.controller.BriarControllerImpl; import org.briarproject.android.controller.ConfigController; @@ -19,28 +15,6 @@ import org.briarproject.android.controller.PasswordController; import org.briarproject.android.controller.PasswordControllerImpl; import org.briarproject.android.controller.SetupController; import org.briarproject.android.controller.SetupControllerImpl; -import org.briarproject.android.forum.ForumController; -import org.briarproject.android.forum.ForumControllerImpl; -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.GroupInvitationController; -import org.briarproject.android.privategroup.invitation.GroupInvitationControllerImpl; -import org.briarproject.android.privategroup.list.GroupListController; -import org.briarproject.android.privategroup.list.GroupListControllerImpl; -import org.briarproject.android.privategroup.memberlist.GroupMemberListController; -import org.briarproject.android.privategroup.memberlist.GroupMemberListControllerImpl; -import org.briarproject.android.privategroup.reveal.RevealContactsController; -import org.briarproject.android.privategroup.reveal.RevealContactsControllerImpl; -import org.briarproject.android.sharing.BlogInvitationController; -import org.briarproject.android.sharing.BlogInvitationControllerImpl; -import org.briarproject.android.sharing.ForumInvitationController; -import org.briarproject.android.sharing.ForumInvitationControllerImpl; -import org.briarproject.android.sharing.ShareBlogController; -import org.briarproject.android.sharing.ShareBlogControllerImpl; -import org.briarproject.android.sharing.ShareForumController; -import org.briarproject.android.sharing.ShareForumControllerImpl; import dagger.Module; import dagger.Provides; @@ -110,100 +84,6 @@ public class ActivityModule { return dbController; } - @ActivityScope - @Provides - GroupListController provideGroupListController( - GroupListControllerImpl groupListController) { - return groupListController; - } - - @ActivityScope - @Provides - protected CreateGroupController provideCreateGroupController( - CreateGroupControllerImpl createGroupController) { - return createGroupController; - } - - @ActivityScope - @Provides - protected GroupController provideGroupController( - GroupControllerImpl groupController) { - activity.addLifecycleController(groupController); - return groupController; - } - - @ActivityScope - @Provides - protected GroupInvitationController provideInvitationGroupController( - GroupInvitationControllerImpl groupInvitationController) { - return groupInvitationController; - } - - @ActivityScope - @Provides - protected GroupMemberListController provideGroupMemberListController( - GroupMemberListControllerImpl groupMemberListController) { - return groupMemberListController; - } - - @ActivityScope - @Provides - protected RevealContactsController provideRevealContactsController( - RevealContactsControllerImpl revealContactsController) { - return revealContactsController; - } - - @ActivityScope - @Provides - protected ForumController provideForumController( - ForumControllerImpl forumController) { - activity.addLifecycleController(forumController); - return forumController; - } - - @ActivityScope - @Provides - ShareForumController provideShareForumController( - ShareForumControllerImpl shareForumController) { - return shareForumController; - } - - @ActivityScope - @Provides - protected ForumInvitationController provideInvitationForumController( - ForumInvitationControllerImpl forumInvitationController) { - activity.addLifecycleController(forumInvitationController); - return forumInvitationController; - } - - @ActivityScope - @Provides - protected BlogInvitationController provideInvitationBlogController( - BlogInvitationControllerImpl blogInvitationController) { - activity.addLifecycleController(blogInvitationController); - return blogInvitationController; - } - - @ActivityScope - @Provides - BlogController provideBlogController(BlogControllerImpl blogController) { - activity.addLifecycleController(blogController); - return blogController; - } - - @ActivityScope - @Provides - ShareBlogController provideShareBlogController( - ShareBlogControllerImpl shareBlogController) { - return shareBlogController; - } - - @ActivityScope - @Provides - FeedController provideFeedController(FeedControllerImpl feedController) { - return feedController; - } - @ActivityScope @Provides NavDrawerController provideNavDrawerController( diff --git a/briar-android/src/org/briarproject/android/BaseActivity.java b/briar-android/src/org/briarproject/android/BaseActivity.java index daa5bf4668b9667228ec08798c5d5e07e280b7e0..02395fbf10775009a93b15cc21c7c8f0c587e01e 100644 --- a/briar-android/src/org/briarproject/android/BaseActivity.java +++ b/briar-android/src/org/briarproject/android/BaseActivity.java @@ -8,6 +8,7 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import org.briarproject.android.controller.ActivityLifecycleController; +import org.briarproject.android.forum.ForumModule; import java.util.ArrayList; import java.util.List; @@ -43,6 +44,7 @@ public abstract class BaseActivity extends AppCompatActivity activityComponent = DaggerActivityComponent.builder() .androidComponent(applicationComponent) .activityModule(getActivityModule()) + .forumModule(getForumModule()) .build(); injectActivity(activityComponent); @@ -61,6 +63,10 @@ public abstract class BaseActivity extends AppCompatActivity return new ActivityModule(this); } + protected ForumModule getForumModule() { + return new ForumModule(); + } + @Override protected void onStart() { super.onStart(); diff --git a/briar-android/src/org/briarproject/android/blogs/BlogControllerImpl.java b/briar-android/src/org/briarproject/android/blogs/BlogControllerImpl.java index 64cee65a5b89d45644f6fab5674e5398b0e05e10..abc5108e94a78f246fcbeaa7befbcc8570a7f2fc 100644 --- a/briar-android/src/org/briarproject/android/blogs/BlogControllerImpl.java +++ b/briar-android/src/org/briarproject/android/blogs/BlogControllerImpl.java @@ -29,7 +29,7 @@ import javax.inject.Inject; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -public class BlogControllerImpl extends BaseControllerImpl +class BlogControllerImpl extends BaseControllerImpl implements ActivityLifecycleController, BlogController, EventListener { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/blogs/BlogModule.java b/briar-android/src/org/briarproject/android/blogs/BlogModule.java new file mode 100644 index 0000000000000000000000000000000000000000..f4392e90a438b68ad924c20a382a569f974b27f0 --- /dev/null +++ b/briar-android/src/org/briarproject/android/blogs/BlogModule.java @@ -0,0 +1,25 @@ +package org.briarproject.android.blogs; + +import org.briarproject.android.ActivityScope; +import org.briarproject.android.BaseActivity; + +import dagger.Module; +import dagger.Provides; + +@Module +public class BlogModule { + + @ActivityScope + @Provides + BlogController provideBlogController(BaseActivity activity, + BlogControllerImpl blogController) { + activity.addLifecycleController(blogController); + return blogController; + } + + @ActivityScope + @Provides + FeedController provideFeedController(FeedControllerImpl feedController) { + return feedController; + } +} diff --git a/briar-android/src/org/briarproject/android/blogs/FeedControllerImpl.java b/briar-android/src/org/briarproject/android/blogs/FeedControllerImpl.java index 33cce78e29c60a2b1357dd58c74baa1df3cce36d..a70097b34d2daf1f53d7e6cc66653fbbe7a48663 100644 --- a/briar-android/src/org/briarproject/android/blogs/FeedControllerImpl.java +++ b/briar-android/src/org/briarproject/android/blogs/FeedControllerImpl.java @@ -27,7 +27,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.api.blogs.BlogManager.CLIENT_ID; -public class FeedControllerImpl extends BaseControllerImpl +class FeedControllerImpl extends BaseControllerImpl implements FeedController { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/contact/ContactModule.java b/briar-android/src/org/briarproject/android/contact/ContactModule.java new file mode 100644 index 0000000000000000000000000000000000000000..b9bf00e24de8034e2ab88e8f9b036d6d8cfc1ed0 --- /dev/null +++ b/briar-android/src/org/briarproject/android/contact/ContactModule.java @@ -0,0 +1,7 @@ +package org.briarproject.android.contact; + +import dagger.Module; + +@Module +public class ContactModule { +} diff --git a/briar-android/src/org/briarproject/android/forum/ForumControllerImpl.java b/briar-android/src/org/briarproject/android/forum/ForumControllerImpl.java index 55c8f817b86e5b4e0d62a32dd6003c0b13561c08..7cc859614d2f8e2d5b58a21dc3c5067753cd89c8 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumControllerImpl.java +++ b/briar-android/src/org/briarproject/android/forum/ForumControllerImpl.java @@ -32,7 +32,7 @@ import javax.inject.Inject; import static java.lang.Math.max; import static java.util.logging.Level.WARNING; -public class ForumControllerImpl +class ForumControllerImpl extends ThreadListControllerImpl<Forum, ForumItem, ForumPostHeader, ForumPost, ThreadListListener<ForumPostHeader>> implements ForumController { diff --git a/briar-android/src/org/briarproject/android/forum/ForumModule.java b/briar-android/src/org/briarproject/android/forum/ForumModule.java new file mode 100644 index 0000000000000000000000000000000000000000..9b665673be1fb08427fb5cecc98990aeec198ad1 --- /dev/null +++ b/briar-android/src/org/briarproject/android/forum/ForumModule.java @@ -0,0 +1,20 @@ +package org.briarproject.android.forum; + +import org.briarproject.android.ActivityScope; +import org.briarproject.android.BaseActivity; + +import dagger.Module; +import dagger.Provides; + +@Module +public class ForumModule { + + @ActivityScope + @Provides + ForumController provideForumController(BaseActivity activity, + ForumControllerImpl forumController) { + activity.addLifecycleController(forumController); + return forumController; + } + +} diff --git a/briar-android/src/org/briarproject/android/privategroup/conversation/GroupControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupControllerImpl.java index 630da0e85b24e0824993ea0122d1441782b380b0..7cea3d521f9a3c991e66aa4d11a40e9a8041eec6 100644 --- a/briar-android/src/org/briarproject/android/privategroup/conversation/GroupControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupControllerImpl.java @@ -36,7 +36,7 @@ import javax.inject.Inject; import static java.lang.Math.max; import static java.util.logging.Level.WARNING; -public class GroupControllerImpl extends +class GroupControllerImpl extends ThreadListControllerImpl<PrivateGroup, GroupMessageItem, GroupMessageHeader, GroupMessage, GroupListener> implements GroupController { diff --git a/briar-android/src/org/briarproject/android/privategroup/conversation/GroupConversationModule.java b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupConversationModule.java new file mode 100644 index 0000000000000000000000000000000000000000..8595b461c3af8bf097368556956d4aff8655d89c --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupConversationModule.java @@ -0,0 +1,19 @@ +package org.briarproject.android.privategroup.conversation; + +import org.briarproject.android.ActivityScope; +import org.briarproject.android.BaseActivity; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupConversationModule { + + @ActivityScope + @Provides + GroupController provideGroupController(BaseActivity activity, + GroupControllerImpl groupController) { + activity.addLifecycleController(groupController); + return groupController; + } +} diff --git a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupControllerImpl.java index d63e3e128e74d060becac56045f5973936db0e7e..051f5a20f9d46e378107b7bcde7c6e8b677c961d 100644 --- a/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/creation/CreateGroupControllerImpl.java @@ -36,7 +36,7 @@ import static java.util.logging.Level.WARNING; @Immutable @NotNullByDefault -public class CreateGroupControllerImpl extends ContactSelectorControllerImpl +class CreateGroupControllerImpl extends ContactSelectorControllerImpl implements CreateGroupController { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/privategroup/creation/GroupCreateModule.java b/briar-android/src/org/briarproject/android/privategroup/creation/GroupCreateModule.java new file mode 100644 index 0000000000000000000000000000000000000000..a553cb0ed46390dc3b3526c8932d70e4f5ccd572 --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/creation/GroupCreateModule.java @@ -0,0 +1,18 @@ +package org.briarproject.android.privategroup.creation; + +import org.briarproject.android.ActivityScope; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupCreateModule { + + @ActivityScope + @Provides + protected CreateGroupController provideCreateGroupController( + CreateGroupControllerImpl createGroupController) { + return createGroupController; + } + +} diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationControllerImpl.java index bf4101edc16a93fe5bf097acfb631fc805b0ebc5..68a8690791ee680158fbb91fef13079749ea705a 100644 --- a/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationControllerImpl.java @@ -25,7 +25,7 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.privategroup.PrivateGroupManager.CLIENT_ID; @NotNullByDefault -public class GroupInvitationControllerImpl +class GroupInvitationControllerImpl extends InvitationControllerImpl<GroupInvitationItem> implements GroupInvitationController { diff --git a/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationModule.java b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationModule.java new file mode 100644 index 0000000000000000000000000000000000000000..b6998cd19534808c01f19562ff724a1a2f77bd57 --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationModule.java @@ -0,0 +1,17 @@ +package org.briarproject.android.privategroup.invitation; + +import org.briarproject.android.ActivityScope; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupInvitationModule { + + @ActivityScope + @Provides + GroupInvitationController provideInvitationGroupController( + GroupInvitationControllerImpl groupInvitationController) { + return groupInvitationController; + } +} diff --git a/briar-android/src/org/briarproject/android/privategroup/list/GroupListControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/list/GroupListControllerImpl.java index 5c86e79f81efb1159c8341241222f6ff659e98f8..f756f6ffcbf0e92ccb9fda122c76faf61891bcec 100644 --- a/briar-android/src/org/briarproject/android/privategroup/list/GroupListControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/list/GroupListControllerImpl.java @@ -38,7 +38,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.api.privategroup.PrivateGroupManager.CLIENT_ID; -public class GroupListControllerImpl extends DbControllerImpl +class GroupListControllerImpl extends DbControllerImpl implements GroupListController, EventListener { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/privategroup/list/GroupListModule.java b/briar-android/src/org/briarproject/android/privategroup/list/GroupListModule.java new file mode 100644 index 0000000000000000000000000000000000000000..2bf5c565431fd063378b3de11eca739ea684ea35 --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/list/GroupListModule.java @@ -0,0 +1,17 @@ +package org.briarproject.android.privategroup.list; + +import org.briarproject.android.ActivityScope; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupListModule { + + @ActivityScope + @Provides + GroupListController provideGroupListController( + GroupListControllerImpl groupListController) { + return groupListController; + } +} diff --git a/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberListControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberListControllerImpl.java index 6b317558c432f175ec95c1d498a088e749cbff7e..8a91bee96ea53089f0750d99d65d6007dee37b52 100644 --- a/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberListControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberListControllerImpl.java @@ -18,7 +18,7 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; -public class GroupMemberListControllerImpl extends DbControllerImpl +class GroupMemberListControllerImpl extends DbControllerImpl implements GroupMemberListController { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberModule.java b/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberModule.java new file mode 100644 index 0000000000000000000000000000000000000000..e92d2e94782cb17ef3742b24e17dbf6e40583086 --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberModule.java @@ -0,0 +1,17 @@ +package org.briarproject.android.privategroup.memberlist; + +import org.briarproject.android.ActivityScope; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupMemberModule { + + @ActivityScope + @Provides + GroupMemberListController provideGroupMemberListController( + GroupMemberListControllerImpl groupMemberListController) { + return groupMemberListController; + } +} diff --git a/briar-android/src/org/briarproject/android/privategroup/reveal/GroupRevealModule.java b/briar-android/src/org/briarproject/android/privategroup/reveal/GroupRevealModule.java new file mode 100644 index 0000000000000000000000000000000000000000..dad020c3f6630e6a15a619ab15a787a4622f953b --- /dev/null +++ b/briar-android/src/org/briarproject/android/privategroup/reveal/GroupRevealModule.java @@ -0,0 +1,17 @@ +package org.briarproject.android.privategroup.reveal; + +import org.briarproject.android.ActivityScope; + +import dagger.Module; +import dagger.Provides; + +@Module +public class GroupRevealModule { + + @ActivityScope + @Provides + RevealContactsController provideRevealContactsController( + RevealContactsControllerImpl revealContactsController) { + return revealContactsController; + } +} diff --git a/briar-android/src/org/briarproject/android/privategroup/reveal/RevealContactsControllerImpl.java b/briar-android/src/org/briarproject/android/privategroup/reveal/RevealContactsControllerImpl.java index d0b89a0e2441149751f5d51d68d4ab41ea86eca9..985708f2ed172ca28c49196cedeea147b641e815 100644 --- a/briar-android/src/org/briarproject/android/privategroup/reveal/RevealContactsControllerImpl.java +++ b/briar-android/src/org/briarproject/android/privategroup/reveal/RevealContactsControllerImpl.java @@ -33,7 +33,7 @@ import static org.briarproject.api.privategroup.Visibility.INVISIBLE; @Immutable @NotNullByDefault -public class RevealContactsControllerImpl extends DbControllerImpl +class RevealContactsControllerImpl extends DbControllerImpl implements RevealContactsController { private static final Logger LOG = diff --git a/briar-android/src/org/briarproject/android/sharing/BlogInvitationControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/BlogInvitationControllerImpl.java index 83bb183fa3b7e1990da311e9b4d3e18f44f38bf6..8b1a318484db34164ffece97a22764d1e0c2d301 100644 --- a/briar-android/src/org/briarproject/android/sharing/BlogInvitationControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/BlogInvitationControllerImpl.java @@ -23,7 +23,7 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.blogs.BlogManager.CLIENT_ID; @NotNullByDefault -public class BlogInvitationControllerImpl +class BlogInvitationControllerImpl extends InvitationControllerImpl<SharingInvitationItem> implements BlogInvitationController { diff --git a/briar-android/src/org/briarproject/android/sharing/ForumInvitationControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/ForumInvitationControllerImpl.java index a472ecb4d3033c5f229cf862ab3ee3b6d5157f6b..38274956ac534b1cd8ae049376a8013897e26bc3 100644 --- a/briar-android/src/org/briarproject/android/sharing/ForumInvitationControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/ForumInvitationControllerImpl.java @@ -23,7 +23,7 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.forum.ForumManager.CLIENT_ID; @NotNullByDefault -public class ForumInvitationControllerImpl +class ForumInvitationControllerImpl extends InvitationControllerImpl<SharingInvitationItem> implements ForumInvitationController { diff --git a/briar-android/src/org/briarproject/android/sharing/ShareBlogControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/ShareBlogControllerImpl.java index a2f9be5b39af5d55f6882f5960a0b3dad33877bc..33e21f3d153f71b140ccc12508ee5397bc54c13b 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareBlogControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareBlogControllerImpl.java @@ -25,7 +25,7 @@ import static java.util.logging.Level.WARNING; @Immutable @NotNullByDefault -public class ShareBlogControllerImpl extends ContactSelectorControllerImpl +class ShareBlogControllerImpl extends ContactSelectorControllerImpl implements ShareBlogController { private final static Logger LOG = diff --git a/briar-android/src/org/briarproject/android/sharing/ShareForumControllerImpl.java b/briar-android/src/org/briarproject/android/sharing/ShareForumControllerImpl.java index b59f0a5585f1bc10781e3b56a207ce079cbc8c5e..73eba81b672faadf43ff9b285cab6e4e9e464f3e 100644 --- a/briar-android/src/org/briarproject/android/sharing/ShareForumControllerImpl.java +++ b/briar-android/src/org/briarproject/android/sharing/ShareForumControllerImpl.java @@ -25,7 +25,7 @@ import static java.util.logging.Level.WARNING; @Immutable @NotNullByDefault -public class ShareForumControllerImpl extends ContactSelectorControllerImpl +class ShareForumControllerImpl extends ContactSelectorControllerImpl implements ShareForumController { private final static Logger LOG = diff --git a/briar-android/src/org/briarproject/android/sharing/SharingModule.java b/briar-android/src/org/briarproject/android/sharing/SharingModule.java new file mode 100644 index 0000000000000000000000000000000000000000..de632f6b132658b3337763a5405d4f6aafd8c81a --- /dev/null +++ b/briar-android/src/org/briarproject/android/sharing/SharingModule.java @@ -0,0 +1,44 @@ +package org.briarproject.android.sharing; + +import org.briarproject.android.ActivityScope; +import org.briarproject.android.BaseActivity; + +import dagger.Module; +import dagger.Provides; + +@Module +public class SharingModule { + + @ActivityScope + @Provides + ShareForumController provideShareForumController( + ShareForumControllerImpl shareForumController) { + return shareForumController; + } + + @ActivityScope + @Provides + BlogInvitationController provideInvitationBlogController( + BaseActivity activity, + BlogInvitationControllerImpl blogInvitationController) { + activity.addLifecycleController(blogInvitationController); + return blogInvitationController; + } + + @ActivityScope + @Provides + ForumInvitationController provideInvitationForumController( + BaseActivity activity, + ForumInvitationControllerImpl forumInvitationController) { + activity.addLifecycleController(forumInvitationController); + return forumInvitationController; + } + + @ActivityScope + @Provides + ShareBlogController provideShareBlogController( + ShareBlogControllerImpl shareBlogController) { + return shareBlogController; + } + +} diff --git a/briar-android/test/java/org/briarproject/android/forum/TestForumActivity.java b/briar-android/test/java/org/briarproject/android/forum/TestForumActivity.java index a77a88cc156c4771d0da6689eca875539f624037..7d4ff2f7d27dcedd92e14bbf1c8d5e4d67f3b58c 100644 --- a/briar-android/test/java/org/briarproject/android/forum/TestForumActivity.java +++ b/briar-android/test/java/org/briarproject/android/forum/TestForumActivity.java @@ -1,6 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.android.ActivityModule; +import org.briarproject.android.BaseActivity; import org.briarproject.android.controller.BriarController; import org.briarproject.android.controller.BriarControllerImpl; import org.briarproject.android.threaded.ThreadItemAdapter; @@ -32,8 +33,14 @@ public class TestForumActivity extends ForumActivity { return c; } + }; + } + + @Override + protected ForumModule getForumModule() { + return new ForumModule() { @Override - protected ForumController provideForumController( + ForumController provideForumController(BaseActivity activity, ForumControllerImpl forumController) { return Mockito.mock(ForumController.class); }