diff --git a/briar-android/src/org/briarproject/android/ActivityComponent.java b/briar-android/src/org/briarproject/android/ActivityComponent.java index fcfd11761bf2eed528e7bfa82332efd69ebd9ad3..529bbf7ba2a69379d6e56580d2ef8206467e0493 100644 --- a/briar-android/src/org/briarproject/android/ActivityComponent.java +++ b/briar-android/src/org/briarproject/android/ActivityComponent.java @@ -2,24 +2,21 @@ package org.briarproject.android; import android.app.Activity; -import org.briarproject.android.contact.ContactListFragment; import org.briarproject.android.contact.ConversationActivity; import org.briarproject.android.forum.AvailableForumsActivity; +import org.briarproject.android.forum.ContactSelectorFragment; import org.briarproject.android.forum.CreateForumActivity; import org.briarproject.android.forum.ForumActivity; -import org.briarproject.android.forum.ForumListFragment; import org.briarproject.android.forum.ReadForumPostActivity; import org.briarproject.android.forum.ShareForumActivity; +import org.briarproject.android.forum.ShareForumMessageFragment; import org.briarproject.android.forum.WriteForumPostActivity; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.identity.CreateIdentityActivity; -import org.briarproject.android.introduction.ContactChooserFragment; import org.briarproject.android.introduction.IntroductionActivity; import org.briarproject.android.introduction.IntroductionMessageFragment; import org.briarproject.android.invitation.AddContactActivity; -import org.briarproject.android.keyagreement.ChooseIdentityFragment; import org.briarproject.android.keyagreement.KeyAgreementActivity; -import org.briarproject.android.keyagreement.ShowQrCodeFragment; import org.briarproject.android.panic.PanicPreferencesActivity; import org.briarproject.android.panic.PanicResponderActivity; @@ -67,19 +64,22 @@ public interface ActivityComponent { void inject(SettingsActivity activity); + /* void inject(ContactListFragment fragment); void inject(ForumListFragment fragment); - void inject(ChooseIdentityFragment fragment); - void inject(ShowQrCodeFragment fragment); + */ void inject(IntroductionActivity activity); + /* void inject(ContactChooserFragment fragment); - void inject(IntroductionMessageFragment fragment); + void inject(introductionmessagefragment fragment); + + */ @Named("ContactListFragment") BaseFragment newContactListFragment(); @@ -96,6 +96,12 @@ public interface ActivityComponent { @Named("ContactChooserFragment") BaseFragment newContactChooserFragment(); + @Named("ContactSelectorFragment") + ContactSelectorFragment newContactSelectorFragment(); + + @Named("ShareForumMessageFragment") + ShareForumMessageFragment newShareForumMessageFragment(); + @Named("IntroductionMessageFragment") IntroductionMessageFragment newIntroductionMessageFragment(); } diff --git a/briar-android/src/org/briarproject/android/ActivityModule.java b/briar-android/src/org/briarproject/android/ActivityModule.java index 0b8b20298c8f91d82bd27946b03260ede252f113..1ed65e9beca59f3dd4a666910c5a44b0c45316c7 100644 --- a/briar-android/src/org/briarproject/android/ActivityModule.java +++ b/briar-android/src/org/briarproject/android/ActivityModule.java @@ -8,17 +8,19 @@ import android.os.Bundle; import org.briarproject.android.contact.ContactListFragment; import org.briarproject.android.controller.BriarController; import org.briarproject.android.controller.BriarControllerImpl; +import org.briarproject.android.controller.ConfigController; +import org.briarproject.android.controller.ConfigControllerImpl; import org.briarproject.android.controller.NavDrawerController; import org.briarproject.android.controller.NavDrawerControllerImpl; +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.controller.TransportStateListener; +import org.briarproject.android.forum.ContactSelectorFragment; import org.briarproject.android.forum.ForumListFragment; +import org.briarproject.android.forum.ShareForumMessageFragment; import org.briarproject.android.fragment.BaseFragment; -import org.briarproject.android.controller.PasswordController; -import org.briarproject.android.controller.SetupController; -import org.briarproject.android.controller.ConfigController; -import org.briarproject.android.controller.ConfigControllerImpl; import org.briarproject.android.introduction.ContactChooserFragment; import org.briarproject.android.introduction.IntroductionMessageFragment; import org.briarproject.android.keyagreement.ChooseIdentityFragment; @@ -29,7 +31,7 @@ import javax.inject.Named; import dagger.Module; import dagger.Provides; -import static org.briarproject.android.BriarService.*; +import static org.briarproject.android.BriarService.BriarServiceConnection; @Module public class ActivityModule { @@ -145,6 +147,22 @@ public class ActivityModule { return fragment; } + @Provides + @Named("ContactSelectorFragment") + ContactSelectorFragment provideContactSelectorFragment() { + ContactSelectorFragment fragment = new ContactSelectorFragment(); + fragment.setArguments(new Bundle()); + return fragment; + } + + @Provides + @Named("ShareForumMessageFragment") + ShareForumMessageFragment provideShareForumMessageFragment() { + ShareForumMessageFragment fragment = new ShareForumMessageFragment(); + fragment.setArguments(new Bundle()); + return fragment; + } + @Provides @Named("IntroductionMessageFragment") IntroductionMessageFragment provideIntroductionMessageFragment() { diff --git a/briar-android/src/org/briarproject/android/AndroidComponent.java b/briar-android/src/org/briarproject/android/AndroidComponent.java index 57e584e3cc71d6a794e629c8463908fce6e4c3a9..ba2578addca7d1cd26378440b28add5ba3b20420 100644 --- a/briar-android/src/org/briarproject/android/AndroidComponent.java +++ b/briar-android/src/org/briarproject/android/AndroidComponent.java @@ -108,15 +108,9 @@ public interface AndroidComponent extends CoreEagerSingletons { AndroidExecutor androidExecutor(); - void inject(BriarService activity); - @IoExecutor Executor ioExecutor(); - void inject(ContactChooserFragment fragment); - - void inject(IntroductionMessageFragment fragment); - void inject(DevReportActivity devReportActivity); void inject(BriarService activity); diff --git a/briar-android/src/org/briarproject/android/forum/ContactSelectorFragment.java b/briar-android/src/org/briarproject/android/forum/ContactSelectorFragment.java index 73de55ec1817a8f7dff2dde0a87576a1a5b0afca..cd5ff9bcffa3353f5abc0cf94c4b7765e6e2ad82 100644 --- a/briar-android/src/org/briarproject/android/forum/ContactSelectorFragment.java +++ b/briar-android/src/org/briarproject/android/forum/ContactSelectorFragment.java @@ -13,7 +13,6 @@ import android.view.View; import android.view.ViewGroup; import org.briarproject.R; -import org.briarproject.android.AndroidComponent; import org.briarproject.android.contact.BaseContactListAdapter; import org.briarproject.android.contact.ContactListItem; import org.briarproject.android.fragment.BaseFragment; @@ -63,13 +62,15 @@ public class ContactSelectorFragment extends BaseFragment implements @Inject protected volatile ForumSharingManager forumSharingManager; - public static ContactSelectorFragment newInstance(GroupId groupId) { - Bundle args = new Bundle(); - args.putByteArray(GROUP_ID, groupId.getBytes()); + public void initBundle(GroupId groupId) { + Bundle bundle = new Bundle(); + bundle.putByteArray(GROUP_ID, groupId.getBytes()); + setArguments(bundle); + } + + @Inject + public ContactSelectorFragment() { - ContactSelectorFragment fragment = new ContactSelectorFragment(); - fragment.setArguments(args); - return fragment; } @Override @@ -83,11 +84,6 @@ public class ContactSelectorFragment extends BaseFragment implements } } - @Override - public void injectActivity(AndroidComponent component) { - component.inject(this); - } - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java index 75a0bc676894b30c2d472a344b9e45c25e9653c0..81bcdf8cd7025b179a4a4ba66ab36768926db478 100644 --- a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java @@ -6,7 +6,6 @@ import android.view.View; import org.briarproject.R; import org.briarproject.android.ActivityComponent; -import org.briarproject.android.AndroidComponent; import org.briarproject.android.BriarActivity; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.api.contact.ContactId; @@ -34,7 +33,8 @@ public class ShareForumActivity extends BriarActivity implements if (savedInstanceState == null) { ContactSelectorFragment contactSelectorFragment = - ContactSelectorFragment.newInstance(groupId); + activityComponent.newContactSelectorFragment(); + contactSelectorFragment.initBundle(groupId); getSupportFragmentManager().beginTransaction() .add(R.id.shareForumContainer, contactSelectorFragment) .commit(); @@ -42,7 +42,7 @@ public class ShareForumActivity extends BriarActivity implements } @Override - public void injectActivity(AndroidComponent component) { + public void injectActivity(ActivityComponent component) { component.inject(this); } @@ -50,7 +50,8 @@ public class ShareForumActivity extends BriarActivity implements Collection<ContactId> contacts) { ShareForumMessageFragment messageFragment = - ShareForumMessageFragment.newInstance(groupId, contacts); + activityComponent.newShareForumMessageFragment(); + messageFragment.initBundle(groupId, contacts); getSupportFragmentManager().beginTransaction() .setCustomAnimations(android.R.anim.fade_in, diff --git a/briar-android/src/org/briarproject/android/forum/ShareForumMessageFragment.java b/briar-android/src/org/briarproject/android/forum/ShareForumMessageFragment.java index 7ed79d67cde563f0669adb6afde95095fbed7b51..ab2586666e9df61356badaec563bac9c78c5e23f 100644 --- a/briar-android/src/org/briarproject/android/forum/ShareForumMessageFragment.java +++ b/briar-android/src/org/briarproject/android/forum/ShareForumMessageFragment.java @@ -13,7 +13,6 @@ import android.widget.TextView; import android.widget.Toast; import org.briarproject.R; -import org.briarproject.android.AndroidComponent; import org.briarproject.android.fragment.BaseFragment; import org.briarproject.api.contact.ContactId; import org.briarproject.api.db.DbException; @@ -45,17 +44,16 @@ public class ShareForumMessageFragment extends BaseFragment { private volatile GroupId groupId; private volatile Collection<ContactId> contacts; - public static ShareForumMessageFragment newInstance(GroupId groupId, - Collection<ContactId> contacts) { - - ShareForumMessageFragment f = new ShareForumMessageFragment(); + public void initBundle(GroupId groupId, Collection<ContactId> contacts) { + Bundle bundle = new Bundle(); + bundle.putByteArray(GROUP_ID, groupId.getBytes()); + bundle.putIntegerArrayList(CONTACTS, getContactsFromIds(contacts)); + setArguments(bundle); + } - Bundle args = new Bundle(); - args.putByteArray(GROUP_ID, groupId.getBytes()); - args.putIntegerArrayList(CONTACTS, getContactsFromIds(contacts)); - f.setArguments(args); + @Inject + public ShareForumMessageFragment() { - return f; } @Override @@ -69,11 +67,6 @@ public class ShareForumMessageFragment extends BaseFragment { } } - @Override - public void injectActivity(AndroidComponent component) { - component.inject(this); - } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {