diff --git a/astrid/src/main/java/org/tasks/Tasks.java b/astrid/src/main/java/org/tasks/Tasks.java index 48811c00c..beb2e0207 100644 --- a/astrid/src/main/java/org/tasks/Tasks.java +++ b/astrid/src/main/java/org/tasks/Tasks.java @@ -1,16 +1,16 @@ package org.tasks; -import android.app.Application; - import com.todoroo.andlib.service.ContextManager; +import com.todoroo.astrid.dao.Database; -import org.tasks.injection.Injector; +import org.tasks.injection.InjectingApplication; -import dagger.ObjectGraph; +import javax.inject.Inject; -public class Tasks extends Application implements Injector { +public class Tasks extends InjectingApplication { - ObjectGraph objectGraph = ObjectGraph.create(); + @SuppressWarnings("UnusedDeclaration") + @Inject Database database; @Override public void onCreate() { @@ -18,14 +18,4 @@ public class Tasks extends Application implements Injector { ContextManager.setContext(this); } - - @Override - public void inject(Object caller) { - getObjectGraph().inject(caller); - } - - @Override - public ObjectGraph getObjectGraph() { - return objectGraph; - } } diff --git a/astrid/src/main/java/org/tasks/injection/InjectingApplication.java b/astrid/src/main/java/org/tasks/injection/InjectingApplication.java new file mode 100644 index 000000000..5ee5faeff --- /dev/null +++ b/astrid/src/main/java/org/tasks/injection/InjectingApplication.java @@ -0,0 +1,27 @@ +package org.tasks.injection; + +import android.app.Application; + +import dagger.ObjectGraph; + +public class InjectingApplication extends Application implements Injector { + + private final ObjectGraph objectGraph = ObjectGraph.create(new TasksModule()); + + @Override + public void onCreate() { + super.onCreate(); + + inject(this); + } + + @Override + public void inject(Object caller) { + objectGraph.inject(this); + } + + @Override + public ObjectGraph getObjectGraph() { + return objectGraph; + } +} diff --git a/astrid/src/main/java/org/tasks/injection/TasksModule.java b/astrid/src/main/java/org/tasks/injection/TasksModule.java new file mode 100644 index 000000000..4cdfb14a2 --- /dev/null +++ b/astrid/src/main/java/org/tasks/injection/TasksModule.java @@ -0,0 +1,9 @@ +package org.tasks.injection; + +import org.tasks.Tasks; + +import dagger.Module; + +@Module(injects = { Tasks.class }) +public class TasksModule { +}