This commit is contained in:
Ernir Erlingsson
2016-04-01 14:52:17 +02:00
parent a9de12520d
commit 5d8ba660c2
7 changed files with 79 additions and 105 deletions

View File

@@ -1,8 +1,6 @@
package org.briarproject.android; package org.briarproject.android;
import android.app.Activity; import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import org.briarproject.android.contact.ContactListFragment; import org.briarproject.android.contact.ContactListFragment;
import org.briarproject.android.contact.ConversationActivity; import org.briarproject.android.contact.ConversationActivity;
@@ -16,13 +14,15 @@ import org.briarproject.android.forum.WriteForumPostActivity;
import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.fragment.BaseFragment;
import org.briarproject.android.identity.CreateIdentityActivity; import org.briarproject.android.identity.CreateIdentityActivity;
import org.briarproject.android.invitation.AddContactActivity; 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.PanicPreferencesActivity;
import org.briarproject.android.panic.PanicResponderActivity; import org.briarproject.android.panic.PanicResponderActivity;
import javax.inject.Named; import javax.inject.Named;
import dagger.Component; import dagger.Component;
import dagger.Provides;
@ActivityScope @ActivityScope
@Component(modules = ActivityModule.class, @Component(modules = ActivityModule.class,
@@ -44,6 +44,8 @@ public interface ActivityComponent {
void inject(AddContactActivity activity); void inject(AddContactActivity activity);
void inject(KeyAgreementActivity activity);
void inject(ConversationActivity activity); void inject(ConversationActivity activity);
void inject(CreateIdentityActivity activity); void inject(CreateIdentityActivity activity);
@@ -64,13 +66,23 @@ public interface ActivityComponent {
void inject(SettingsActivity activity); void inject(SettingsActivity activity);
void inject(ContactListFragment fragment);
void inject(ForumListFragment fragment);
void inject(ChooseIdentityFragment fragment);
void inject(ShowQrCodeFragment fragment);
@Named("ContactListFragment") @Named("ContactListFragment")
BaseFragment newContactListFragment(); BaseFragment newContactListFragment();
@Named("ForumListFragment") @Named("ForumListFragment")
BaseFragment newForumListFragment(); BaseFragment newForumListFragment();
// void inject(ContactListFragment fragment); @Named("ChooseIdentityFragment")
BaseFragment newChooseIdentityFragment();
// void inject(ForumListFragment fragment); @Named("ShowQrCodeFragment")
BaseFragment newShowQrCodeFragment();
} }

View File

@@ -14,6 +14,8 @@ import org.briarproject.android.helper.SetupHelper;
import org.briarproject.android.helper.SetupHelperImp; import org.briarproject.android.helper.SetupHelperImp;
import org.briarproject.android.helper.ConfigHelper; import org.briarproject.android.helper.ConfigHelper;
import org.briarproject.android.helper.ConfigHelperImp; import org.briarproject.android.helper.ConfigHelperImp;
import org.briarproject.android.keyagreement.ChooseIdentityFragment;
import org.briarproject.android.keyagreement.ShowQrCodeFragment;
import javax.inject.Named; import javax.inject.Named;
@@ -75,4 +77,21 @@ public class ActivityModule {
return contactListFragment; return contactListFragment;
} }
@Provides
@Named("ChooseIdentityFragment")
BaseFragment provideChooseIdendityFragment() {
ChooseIdentityFragment fragment = new ChooseIdentityFragment();
fragment.setArguments(new Bundle());
return fragment;
}
@Provides
@Named("ShowQrCodeFragment")
BaseFragment provideShowQrCodeFragment() {
ShowQrCodeFragment fragment = new ShowQrCodeFragment();
fragment.setArguments(new Bundle());
return fragment;
}
} }

View File

@@ -7,25 +7,7 @@ import org.briarproject.android.api.ReferenceManager;
import org.briarproject.android.contact.ContactListFragment; import org.briarproject.android.contact.ContactListFragment;
import org.briarproject.android.contact.ConversationActivity; import org.briarproject.android.contact.ConversationActivity;
import org.briarproject.android.event.AppBus; import org.briarproject.android.event.AppBus;
import org.briarproject.android.forum.AvailableForumsActivity; import org.briarproject.api.contact.ContactExchangeTask;
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.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;
import org.briarproject.api.contact.ContactManager; import org.briarproject.api.contact.ContactManager;
import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.crypto.CryptoExecutor; import org.briarproject.api.crypto.CryptoExecutor;
@@ -39,6 +21,9 @@ import org.briarproject.api.forum.ForumSharingManager;
import org.briarproject.api.identity.AuthorFactory; import org.briarproject.api.identity.AuthorFactory;
import org.briarproject.api.identity.IdentityManager; import org.briarproject.api.identity.IdentityManager;
import org.briarproject.api.invitation.InvitationTaskFactory; import org.briarproject.api.invitation.InvitationTaskFactory;
import org.briarproject.api.keyagreement.KeyAgreementTaskFactory;
import org.briarproject.api.keyagreement.PayloadEncoder;
import org.briarproject.api.keyagreement.PayloadParser;
import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.messaging.MessagingManager; import org.briarproject.api.messaging.MessagingManager;
import org.briarproject.api.messaging.PrivateMessageFactory; import org.briarproject.api.messaging.PrivateMessageFactory;
@@ -71,68 +56,52 @@ public interface AndroidComponent extends CoreEagerSingletons {
DatabaseConfig databaseConfig(); DatabaseConfig databaseConfig();
AuthorFactory authFactory(); AuthorFactory authFactory();
ReferenceManager referenceMangager(); ReferenceManager referenceMangager();
@DatabaseExecutor Executor databaseExecutor();
@DatabaseExecutor
Executor databaseExecutor();
LifecycleManager lifecycleManager(); LifecycleManager lifecycleManager();
IdentityManager identityManager(); IdentityManager identityManager();
PluginManager pluginManager(); PluginManager pluginManager();
EventBus eventBus(); EventBus eventBus();
AppBus appEventBus(); AppBus appEventBus();
InvitationTaskFactory invitationTaskFactory(); InvitationTaskFactory invitationTaskFactory();
AndroidNotificationManager androidNotificationManager(); AndroidNotificationManager androidNotificationManager();
ConnectionRegistry connectionRegistry(); ConnectionRegistry connectionRegistry();
ContactManager contactManager(); ContactManager contactManager();
MessagingManager messagingManager(); MessagingManager messagingManager();
PrivateMessageFactory privateMessageFactory(); PrivateMessageFactory privateMessageFactory();
TransportPropertyManager transportPropertyManager(); TransportPropertyManager transportPropertyManager();
ForumManager forumManager(); ForumManager forumManager();
ForumSharingManager forumSharingManager(); ForumSharingManager forumSharingManager();
ForumPostFactory forumPostFactory(); ForumPostFactory forumPostFactory();
SettingsManager settingsManager(); SettingsManager settingsManager();
ContactExchangeTask contactExchangeTask();
KeyAgreementTaskFactory keyAgreementTaskFactory();
PayloadEncoder payloadEncoder();
PayloadParser payloadParser();
void inject(BriarService activity); void inject(BriarService activity);
void inject(PanicResponderActivity activity);
void inject(PanicPreferencesActivity activity);
void inject(AddContactActivity activity);
void inject(KeyAgreementActivity activity);
void inject(ConversationActivity activity);
void inject(CreateIdentityActivity activity);
void inject(TestingActivity activity);
void inject(AvailableForumsActivity activity);
void inject(WriteForumPostActivity activity);
void inject(CreateForumActivity activity);
void inject(ShareForumActivity activity);
void inject(ContactSelectorFragment fragment);
void inject(ShareForumMessageFragment fragment);
void inject(ReadForumPostActivity activity);
void inject(ForumActivity activity);
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(ContactChooserFragment fragment);
void inject(IntroductionMessageFragment fragment); void inject(IntroductionMessageFragment fragment);

View File

@@ -15,6 +15,7 @@ import org.briarproject.R;
import org.briarproject.android.AndroidComponent; import org.briarproject.android.AndroidComponent;
import org.briarproject.android.BriarApplication; import org.briarproject.android.BriarApplication;
import org.briarproject.android.fragment.BaseEventFragment; import org.briarproject.android.fragment.BaseEventFragment;
import org.briarproject.android.fragment.BaseFragment;
import org.briarproject.android.keyagreement.KeyAgreementActivity; import org.briarproject.android.keyagreement.KeyAgreementActivity;
import org.briarproject.android.util.BriarRecyclerView; import org.briarproject.android.util.BriarRecyclerView;
import org.briarproject.api.contact.Contact; import org.briarproject.api.contact.Contact;
@@ -62,17 +63,6 @@ public class ContactListFragment extends BaseFragment implements EventListener {
public final static String TAG = "ContactListFragment"; public final static String TAG = "ContactListFragment";
/*
public static ContactListFragment newInstance() {
Bundle args = new Bundle();
ContactListFragment fragment = new ContactListFragment();
fragment.setArguments(args);
return fragment;
}
*/
@Override @Override
public String getUniqueTag() { public String getUniqueTag() {
return TAG; return TAG;
@@ -98,10 +88,6 @@ public class ContactListFragment extends BaseFragment implements EventListener {
protected volatile EventBus eventBus; protected volatile EventBus eventBus;
// @Override
// public void injectActivity(AndroidComponent component) {
// component.inject(this);
// }
@Inject @Inject
public ContactListFragment() { public ContactListFragment() {

View File

@@ -13,6 +13,7 @@ import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Spinner; import android.widget.Spinner;
import org.briarproject.R; import org.briarproject.R;
import org.briarproject.android.ActivityComponent;
import org.briarproject.android.AndroidComponent; import org.briarproject.android.AndroidComponent;
import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.fragment.BaseFragment;
import org.briarproject.android.identity.CreateIdentityActivity; import org.briarproject.android.identity.CreateIdentityActivity;
@@ -59,11 +60,9 @@ public class ChooseIdentityFragment extends BaseFragment
@Inject @Inject
protected volatile IdentityManager identityManager; protected volatile IdentityManager identityManager;
public static ChooseIdentityFragment newInstance() { @Inject
Bundle args = new Bundle(); public ChooseIdentityFragment() {
ChooseIdentityFragment fragment = new ChooseIdentityFragment();
fragment.setArguments(args);
return fragment;
} }
@Override @Override
@@ -82,11 +81,6 @@ public class ChooseIdentityFragment extends BaseFragment
return TAG; return TAG;
} }
@Override
public void injectActivity(AndroidComponent component) {
component.inject(this);
}
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,

View File

@@ -7,6 +7,7 @@ import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import org.briarproject.R; import org.briarproject.R;
import org.briarproject.android.ActivityComponent;
import org.briarproject.android.AndroidComponent; import org.briarproject.android.AndroidComponent;
import org.briarproject.android.BriarFragmentActivity; import org.briarproject.android.BriarFragmentActivity;
import org.briarproject.android.fragment.BaseFragment; import org.briarproject.android.fragment.BaseFragment;
@@ -63,7 +64,7 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
protected volatile IdentityManager identityManager; protected volatile IdentityManager identityManager;
@Override @Override
public void injectActivity(AndroidComponent component) { public void injectActivity(ActivityComponent component) {
component.inject(this); component.inject(this);
} }
@@ -96,11 +97,11 @@ public class KeyAgreementActivity extends BriarFragmentActivity implements
STEPS)); STEPS));
switch (step) { switch (step) {
case STEP_QR: case STEP_QR:
startFragment(ShowQrCodeFragment.newInstance()); startFragment(activityComponent.newShowQrCodeFragment());
break; break;
case STEP_ID: case STEP_ID:
default: default:
startFragment(ChooseIdentityFragment.newInstance()); startFragment(activityComponent.newChooseIdentityFragment());
break; break;
} }
} }

View File

@@ -86,11 +86,9 @@ public class ShowQrCodeFragment extends BaseEventFragment
private volatile KeyAgreementTask task; private volatile KeyAgreementTask task;
private volatile boolean waitingForBluetooth; private volatile boolean waitingForBluetooth;
public static ShowQrCodeFragment newInstance() { @Inject
Bundle args = new Bundle(); public ShowQrCodeFragment() {
ShowQrCodeFragment fragment = new ShowQrCodeFragment();
fragment.setArguments(args);
return fragment;
} }
@Override @Override
@@ -98,11 +96,6 @@ public class ShowQrCodeFragment extends BaseEventFragment
return TAG; return TAG;
} }
@Override
public void injectActivity(AndroidComponent component) {
component.inject(this);
}
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,