Add InjectingFragment

pull/143/head
Alex Baker 12 years ago
parent c10a704ea8
commit 5515fe00f5

@ -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);

@ -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);

@ -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 {
}

@ -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;
}
}
}
Loading…
Cancel
Save