Newer
Older
package org.briarproject.android;
import android.app.Activity;
import android.content.Context;
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;

Ernir Erlingsson
committed
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.DbController;
import org.briarproject.android.controller.DbControllerImpl;

Ernir Erlingsson
committed
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.forum.ForumController;
import org.briarproject.android.forum.ForumControllerImpl;
import dagger.Module;
import dagger.Provides;
import static org.briarproject.android.BriarService.BriarServiceConnection;

Ernir Erlingsson
committed
@Module
public class ActivityModule {
private final BaseActivity activity;
public ActivityModule(BaseActivity activity) {
this.activity = activity;
}

Ernir Erlingsson
committed
@ActivityScope
@Provides
BaseActivity provideBaseActivity() {

Ernir Erlingsson
committed
return activity;
}
Activity provideActivity() {
return activity;
}
@ActivityScope
@Provides
SetupController provideSetupController(
SetupControllerImpl setupControllerImpl) {
return setupControllerImpl;
ConfigController provideConfigController(
ConfigControllerImpl configControllerImpl) {
return configControllerImpl;
SharedPreferences provideSharedPreferences(Activity activity) {
return activity.getSharedPreferences("db", Context.MODE_PRIVATE);
}
PasswordController providePasswordController(
PasswordControllerImpl passwordControllerImpl) {
return passwordControllerImpl;

Ernir Erlingsson
committed
}
@ActivityScope
@Provides
protected BriarController provideBriarController(
BriarControllerImpl briarControllerImpl) {
activity.addLifecycleController(briarControllerImpl);
return briarControllerImpl;

Ernir Erlingsson
committed
}
@ActivityScope
@Provides
DbController provideDBController(DbControllerImpl dbController) {
return dbController;
}
@ActivityScope
@Provides
protected ForumController provideForumController(
ForumControllerImpl forumController) {
activity.addLifecycleController(forumController);
return forumController;
}
@ActivityScope
@Provides
BlogController provideBlogController(BlogControllerImpl blogController) {
activity.addLifecycleController(blogController);
return blogController;
}
FeedController provideFeedController(FeedControllerImpl feedController) {

Ernir Erlingsson
committed
@Provides
NavDrawerController provideNavDrawerController(
NavDrawerControllerImpl navDrawerController) {
activity.addLifecycleController(navDrawerController);
return navDrawerController;

Ernir Erlingsson
committed
}
@ActivityScope
@Provides
BriarServiceConnection provideBriarServiceConnection() {

Ernir Erlingsson
committed
return new BriarServiceConnection();