diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/AstridActivity.java b/astrid/src/main/java/com/todoroo/astrid/activity/AstridActivity.java index 62ddd8643..52d9474eb 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/AstridActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/AstridActivity.java @@ -29,7 +29,6 @@ import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.core.CoreFilterExposer; import com.todoroo.astrid.core.PluginServices; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.StartupService; @@ -42,8 +41,6 @@ import com.todoroo.astrid.voice.VoiceRecognizer; import org.tasks.R; import org.tasks.injection.InjectingActionBarActivity; -import javax.inject.Inject; - /** * This wrapper activity contains all the glue-code to handle the callbacks between the different * fragments that could be visible on the screen in landscape-mode. @@ -69,8 +66,6 @@ public class AstridActivity extends InjectingActionBarActivity private final RepeatConfirmationReceiver repeatConfirmationReceiver = new RepeatConfirmationReceiver(); - @Inject TaskDao taskDao; - public FilterListFragment getFilterListFragment() { return (FilterListFragment) getSupportFragmentManager() .findFragmentByTag(FilterListFragment.TAG_FILTERLIST_FRAGMENT); diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 032ca480b..4fc182db8 100755 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -17,7 +17,6 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.speech.RecognizerIntent; -import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.text.TextUtils; import android.util.DisplayMetrics; @@ -42,8 +41,6 @@ import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.Toast; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DialogUtilities; @@ -86,6 +83,7 @@ import com.todoroo.astrid.voice.VoiceRecognizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.tasks.R; +import org.tasks.injection.InjectingFragment; import java.io.File; import java.io.FileOutputStream; @@ -95,6 +93,8 @@ import java.util.HashMap; import java.util.List; import java.util.concurrent.atomic.AtomicReference; +import javax.inject.Inject; + import static android.support.v4.view.MenuItemCompat.setShowAsAction; /** @@ -105,7 +105,7 @@ import static android.support.v4.view.MenuItemCompat.setShowAsAction; * @author timsu * */ -public final class TaskEditFragment extends Fragment implements +public final class TaskEditFragment extends InjectingFragment implements ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { private static final Logger log = LoggerFactory.getLogger(TaskEditFragment.class); @@ -168,11 +168,9 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { public static final int TAB_VIEW_UPDATES = 0; - @Autowired private TaskService taskService; - - @Autowired private TaskAttachmentDao taskAttachmentDao; - - @Autowired private TagService tagService; + @Inject TaskService taskService; + @Inject TaskAttachmentDao taskAttachmentDao; + @Inject TagService tagService; // --- UI components @@ -216,10 +214,6 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { * ====================================================================== */ - public TaskEditFragment() { - DependencyInjectionService.getInstance().inject(this); - } - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/astrid/src/main/java/org/tasks/injection/FragmentModule.java b/astrid/src/main/java/org/tasks/injection/FragmentModule.java index 9731e7f6c..777622540 100644 --- a/astrid/src/main/java/org/tasks/injection/FragmentModule.java +++ b/astrid/src/main/java/org/tasks/injection/FragmentModule.java @@ -1,6 +1,7 @@ package org.tasks.injection; import com.todoroo.astrid.actfm.TagViewFragment; +import com.todoroo.astrid.activity.TaskEditFragment; import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.gtasks.GtasksListFragment; import com.todoroo.astrid.reminders.NotificationFragment; @@ -17,6 +18,7 @@ import dagger.Module; SubtasksListFragment.class, SubtasksTagListFragment.class, TagViewFragment.class, + TaskEditFragment.class }) public class FragmentModule { } diff --git a/astrid/src/main/java/org/tasks/injection/InjectingFragment.java b/astrid/src/main/java/org/tasks/injection/InjectingFragment.java new file mode 100644 index 000000000..7c6fb62b0 --- /dev/null +++ b/astrid/src/main/java/org/tasks/injection/InjectingFragment.java @@ -0,0 +1,19 @@ +package org.tasks.injection; + +import android.app.Activity; +import android.support.v4.app.Fragment; + +public class InjectingFragment extends Fragment { + + private boolean injected; + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + + if (!injected) { + ((Injector) activity.getApplication()).inject(this, new FragmentModule()); + injected = true; + } + } +}