From ab9152081369c9870fc9dbd6f80c4bd99fded49a Mon Sep 17 00:00:00 2001 From: Ernir Erlingsson <ernir@ymirmobile.com> Date: Thu, 17 Nov 2016 11:05:00 +0100 Subject: [PATCH] refactored the activity module --- .../android/ActivityComponent.java | 17 ++- .../briarproject/android/ActivityModule.java | 120 ------------------ .../briarproject/android/BaseActivity.java | 6 + .../android/blogs/BlogControllerImpl.java | 2 +- .../android/blogs/BlogModule.java | 25 ++++ .../android/blogs/FeedControllerImpl.java | 2 +- .../android/contact/ContactModule.java | 7 + .../android/forum/ForumControllerImpl.java | 2 +- .../android/forum/ForumModule.java | 20 +++ .../conversation/GroupControllerImpl.java | 2 +- .../conversation/GroupConversationModule.java | 19 +++ .../creation/CreateGroupControllerImpl.java | 2 +- .../creation/GroupCreateModule.java | 18 +++ .../GroupInvitationControllerImpl.java | 2 +- .../invitation/GroupInvitationModule.java | 17 +++ .../list/GroupListControllerImpl.java | 2 +- .../privategroup/list/GroupListModule.java | 17 +++ .../GroupMemberListControllerImpl.java | 2 +- .../memberlist/GroupMemberModule.java | 17 +++ .../reveal/GroupRevealModule.java | 17 +++ .../reveal/RevealContactsControllerImpl.java | 2 +- .../sharing/BlogInvitationControllerImpl.java | 2 +- .../ForumInvitationControllerImpl.java | 2 +- .../sharing/ShareBlogControllerImpl.java | 2 +- .../sharing/ShareForumControllerImpl.java | 2 +- .../android/sharing/SharingModule.java | 44 +++++++ .../android/forum/TestForumActivity.java | 9 +- 27 files changed, 244 insertions(+), 135 deletions(-) create mode 100644 briar-android/src/org/briarproject/android/blogs/BlogModule.java create mode 100644 briar-android/src/org/briarproject/android/contact/ContactModule.java create mode 100644 briar-android/src/org/briarproject/android/forum/ForumModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/conversation/GroupConversationModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/creation/GroupCreateModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/invitation/GroupInvitationModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/list/GroupListModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/memberlist/GroupMemberModule.java create mode 100644 briar-android/src/org/briarproject/android/privategroup/reveal/GroupRevealModule.java create mode 100644 briar-android/src/org/briarproject/android/sharing/SharingModule.java diff --git a/briar-android/src/org/briarproject/android/ActivityComponent.java b/briar-android/src/org/briarproject/android/ActivityComponent.java index a8b3dee8b9..7f5b272848 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 4f17c24bc6..0402ef56fc 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 daa5bf4668..02395fbf10 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 64cee65a5b..abc5108e94 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 0000000000..f4392e90a4 --- /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 33cce78e29..a70097b34d 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 0000000000..b9bf00e24d --- /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 55c8f817b8..7cc859614d 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 0000000000..9b665673be --- /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 630da0e85b..7cea3d521f 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 0000000000..8595b461c3 --- /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 d63e3e128e..051f5a20f9 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 0000000000..a553cb0ed4 --- /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 bf4101edc1..68a8690791 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 0000000000..b6998cd195 --- /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 5c86e79f81..f756f6ffcb 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 0000000000..2bf5c56543 --- /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 6b317558c4..8a91bee96e 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 0000000000..e92d2e9478 --- /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 0000000000..dad020c3f6 --- /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 d0b89a0e24..985708f2ed 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 83bb183fa3..8b1a318484 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 a472ecb4d3..38274956ac 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 a2f9be5b39..33e21f3d15 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 b59f0a5585..73eba81b67 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 0000000000..de632f6b13 --- /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 a77a88cc15..7d4ff2f7d2 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); } -- GitLab