From fa6060a40c631a7f4d79e14589cde1c6bb4276d7 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 27 May 2014 11:04:42 -0500 Subject: [PATCH] Clean up injections --- .../astrid/subtasks/SubtasksTestCase.java | 8 +++- .../todoroo/astrid/actfm/TagViewFragment.java | 4 -- .../astrid/activity/TaskListFragment.java | 6 ++- .../astrid/gtasks/GtasksListFragment.java | 2 + .../astrid/helper/SyncActionHelper.java | 9 ++--- .../reminders/NotificationFragment.java | 7 +++- .../astrid/reminders/ReminderDialog.java | 8 +--- .../AstridOrderedListFragmentHelper.java | 9 ++--- .../subtasks/AstridOrderedListUpdater.java | 8 ++-- .../subtasks/SubtasksFilterUpdater.java | 12 +++++- .../astrid/subtasks/SubtasksListFragment.java | 15 +++++-- .../subtasks/SubtasksTagListFragment.java | 17 ++++++-- .../astrid/subtasks/SubtasksTagUpdater.java | 39 ------------------- .../astrid/subtasks/SubtasksUpdater.java | 9 +++-- 14 files changed, 70 insertions(+), 83 deletions(-) delete mode 100644 astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagUpdater.java diff --git a/astrid/src/androidTest/java/com/todoroo/astrid/subtasks/SubtasksTestCase.java b/astrid/src/androidTest/java/com/todoroo/astrid/subtasks/SubtasksTestCase.java index 10e431d73..44c13f634 100644 --- a/astrid/src/androidTest/java/com/todoroo/astrid/subtasks/SubtasksTestCase.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/subtasks/SubtasksTestCase.java @@ -1,10 +1,13 @@ package com.todoroo.astrid.subtasks; +import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.core.CoreFilterExposer; +import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskListMetadata; +import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node; import com.todoroo.astrid.test.DatabaseTestCase; @@ -15,6 +18,9 @@ import com.todoroo.astrid.test.DatabaseTestCase; */ public class SubtasksTestCase extends DatabaseTestCase { + @Autowired TaskListMetadataDao taskListMetadataDao; + @Autowired TaskService taskService; + protected SubtasksUpdater updater; protected Filter filter; @@ -34,7 +40,7 @@ public class SubtasksTestCase extends DatabaseTestCase { super.setUp(); filter = CoreFilterExposer.buildInboxFilter(getContext().getResources()); Preferences.clear(SubtasksUpdater.ACTIVE_TASKS_ORDER); - updater = new SubtasksFilterUpdater(); + updater = new SubtasksFilterUpdater(taskListMetadataDao, taskService); } protected void expectParentAndPosition(Task task, Task parent, int positionInParent) { diff --git a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java index 59190592b..607ad9af6 100644 --- a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java @@ -42,8 +42,6 @@ import com.todoroo.astrid.utility.Flags; import org.tasks.R; -import java.util.concurrent.atomic.AtomicBoolean; - import javax.inject.Inject; public class TagViewFragment extends TaskListFragment { @@ -72,8 +70,6 @@ public class TagViewFragment extends TaskListFragment { private boolean dataLoaded = false; - protected AtomicBoolean isBeingFiltered = new AtomicBoolean(false); - protected boolean justDeleted = false; // --- UI initialization diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index 8dba729f9..83c47395a 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -72,6 +72,7 @@ import com.todoroo.astrid.helper.TaskListContextMenuExtensionLoader; import com.todoroo.astrid.helper.TaskListContextMenuExtensionLoader.ContextMenuItem; import com.todoroo.astrid.reminders.MakeNotification; import com.todoroo.astrid.reminders.WhenReminder; +import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.UpgradeService; import com.todoroo.astrid.subtasks.SubtasksHelper; @@ -141,9 +142,10 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel // --- instance variables - @Inject protected TaskService taskService; + @Inject TaskService taskService; @Inject UpgradeService upgradeService; @Inject TaskListMetadataDao taskListMetadataDao; + @Inject SyncV2Service syncService; private final TaskContextActionExposer[] contextItemExposers = new TaskContextActionExposer[] { new MakeNotification(), @@ -282,7 +284,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel // We have a menu item to show in action bar. resources = getResources(); setHasOptionsMenu(true); - syncActionHelper = new SyncActionHelper(getActivity(), this); + syncActionHelper = new SyncActionHelper(syncService, getActivity(), this); setUpUiComponents(); initializeData(); setupQuickAddBar(); diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java index d2dab6cb2..2972f908c 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java @@ -23,6 +23,7 @@ import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.helper.ProgressBarSyncResultCallback; import com.todoroo.astrid.service.SyncV2Service; +import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.subtasks.OrderedListFragmentHelperInterface; import com.todoroo.astrid.subtasks.OrderedMetadataListFragmentHelper; import com.todoroo.astrid.subtasks.SubtasksListFragment; @@ -35,6 +36,7 @@ public class GtasksListFragment extends SubtasksListFragment { public static final String TOKEN_STORE_ID = "storeId"; //$NON-NLS-1$ + @Inject TaskService taskService; @Inject StoreObjectDao storeObjectDao; @Inject GtasksTaskListUpdater gtasksTaskListUpdater; @Inject GtasksMetadataService gtasksMetadataService; diff --git a/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java b/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java index c060bbd5a..444faab9b 100644 --- a/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java @@ -18,9 +18,7 @@ import android.os.Bundle; import android.support.v4.app.Fragment; import android.widget.ArrayAdapter; -import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.Preferences; @@ -67,13 +65,12 @@ public class SyncActionHelper { protected SyncActionReceiver syncActionReceiver = new SyncActionReceiver(); - @Autowired SyncV2Service syncService; + private final SyncV2Service syncService; // --- boilerplate - public SyncActionHelper(Activity activity, Fragment fragment) { - DependencyInjectionService.getInstance().inject(this); - + public SyncActionHelper(SyncV2Service syncService, Activity activity, Fragment fragment) { + this.syncService = syncService; this.activity = activity; this.fragment = fragment; syncResultCallback = new ProgressBarSyncResultCallback(activity, fragment, diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/NotificationFragment.java b/astrid/src/main/java/com/todoroo/astrid/reminders/NotificationFragment.java index 8786e05f9..5fef2d4cf 100644 --- a/astrid/src/main/java/com/todoroo/astrid/reminders/NotificationFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/reminders/NotificationFragment.java @@ -24,12 +24,15 @@ import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.repeats.RepeatControlSet; +import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.ui.NumberPicker; import org.tasks.R; import java.util.Date; +import javax.inject.Inject; + import static org.tasks.date.DateTimeUtils.newDate; /** @@ -48,6 +51,8 @@ public class NotificationFragment extends TaskListFragment { // --- implementation + @Inject TaskService taskService; + @Override protected void initializeData() { displayNotificationPopup(); @@ -63,7 +68,7 @@ public class NotificationFragment extends TaskListFragment { String title = extras.getString(Notifications.EXTRAS_TEXT); long taskId = extras.getLong(TOKEN_ID); - new ReminderDialog((AstridActivity) getActivity(), taskId, title).show(); + new ReminderDialog(taskService, (AstridActivity) getActivity(), taskId, title).show(); } public static class SnoozeDialog extends FrameLayout implements DialogInterface.OnClickListener { diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderDialog.java b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderDialog.java index 797c29ce9..7a0f619ce 100644 --- a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderDialog.java +++ b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderDialog.java @@ -14,8 +14,6 @@ import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.api.AstridApiConstants; @@ -37,12 +35,10 @@ import static org.tasks.date.DateTimeUtils.newDate; */ public class ReminderDialog extends Dialog { - @Autowired private TaskService taskService; - - public ReminderDialog(final AstridActivity activity, final long taskId, + public ReminderDialog(final TaskService taskService, final AstridActivity activity, final long taskId, String title) { super(activity, R.style.ReminderDialog); - DependencyInjectionService.getInstance().inject(this); + final SnoozeCallback dialogSnooze = new SnoozeCallback() { @Override public void snoozeForTime(long time) { diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java index c156a9ce0..4a006891a 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java @@ -14,8 +14,6 @@ import com.commonsware.cwac.tlv.TouchListView.GrabberClickListener; import com.commonsware.cwac.tlv.TouchListView.SwipeListener; import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.TodorooCursor; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Query; @@ -47,15 +45,14 @@ public class AstridOrderedListFragmentHelper implements OrderedListFragmen private final DisplayMetrics metrics = new DisplayMetrics(); private final AstridOrderedListUpdater updater; private final TaskListFragment fragment; - - @Autowired TaskService taskService; + private final TaskService taskService; private DraggableTaskAdapter taskAdapter; private LIST list; - public AstridOrderedListFragmentHelper(TaskListFragment fragment, AstridOrderedListUpdater updater) { - DependencyInjectionService.getInstance().inject(this); + public AstridOrderedListFragmentHelper(TaskService taskService, TaskListFragment fragment, AstridOrderedListUpdater updater) { + this.taskService = taskService; this.fragment = fragment; this.updater = updater; } diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListUpdater.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListUpdater.java index 89f9bd676..8553e5817 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListUpdater.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListUpdater.java @@ -3,8 +3,6 @@ package com.todoroo.astrid.subtasks; import android.util.Log; import com.todoroo.andlib.data.TodorooCursor; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.Task; @@ -21,10 +19,10 @@ import java.util.Set; public abstract class AstridOrderedListUpdater { - @Autowired private TaskService taskService; + private final TaskService taskService; - public AstridOrderedListUpdater() { - DependencyInjectionService.getInstance().inject(this); + public AstridOrderedListUpdater(TaskService taskService) { + this.taskService = taskService; idToNode = new HashMap<>(); } diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java index 6ec752738..73a55c6e2 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java @@ -3,12 +3,22 @@ package com.todoroo.astrid.subtasks; import android.text.TextUtils; import com.todoroo.astrid.api.Filter; +import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.TaskListMetadata; +import com.todoroo.astrid.service.TaskService; + +import javax.inject.Inject; public class SubtasksFilterUpdater extends SubtasksUpdater { - public SubtasksFilterUpdater() { + private TaskListMetadataDao taskListMetadataDao; + + @Inject + public SubtasksFilterUpdater(TaskListMetadataDao taskListMetadataDao, TaskService taskService) { + super(taskService); + + this.taskListMetadataDao = taskListMetadataDao; } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java index 801eed730..58b6eb3bf 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java @@ -5,7 +5,7 @@ */ package com.todoroo.astrid.subtasks; -import android.os.Bundle; +import android.app.Activity; import android.view.View; import android.view.ViewGroup; @@ -14,9 +14,12 @@ import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskListMetadata; +import com.todoroo.astrid.service.TaskService; import org.tasks.R; +import javax.inject.Inject; + /** * Fragment for subtasks * @@ -29,14 +32,18 @@ public class SubtasksListFragment extends TaskListFragment { private int lastVisibleIndex = -1; + @Inject TaskService taskService; + @Inject SubtasksFilterUpdater subtasksFilterUpdater; + @Override - public void onActivityCreated(Bundle savedInstanceState) { + public void onAttach(Activity activity) { + super.onAttach(activity); + helper = createFragmentHelper(); - super.onActivityCreated(savedInstanceState); } protected OrderedListFragmentHelperInterface createFragmentHelper() { - return new AstridOrderedListFragmentHelper<>(this, new SubtasksFilterUpdater()); + return new AstridOrderedListFragmentHelper<>(taskService, this, subtasksFilterUpdater); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java index f312b19ef..412d20227 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java @@ -5,6 +5,7 @@ */ package com.todoroo.astrid.subtasks; +import android.app.Activity; import android.view.View; import android.view.ViewGroup; @@ -13,18 +14,26 @@ import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskListMetadata; +import com.todoroo.astrid.service.TaskService; import org.tasks.R; +import javax.inject.Inject; + public class SubtasksTagListFragment extends TagViewFragment { - private final AstridOrderedListFragmentHelper helper; + @Inject TaskService taskService; + @Inject SubtasksFilterUpdater subtasksFilterUpdater; + + private AstridOrderedListFragmentHelper helper; private int lastVisibleIndex = -1; - public SubtasksTagListFragment() { - super(); - helper = new AstridOrderedListFragmentHelper<>(this, new SubtasksTagUpdater(isBeingFiltered)); + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + + helper = new AstridOrderedListFragmentHelper<>(taskService, this, subtasksFilterUpdater); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagUpdater.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagUpdater.java deleted file mode 100644 index 765caeb22..000000000 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagUpdater.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.todoroo.astrid.subtasks; - -import com.todoroo.astrid.api.Filter; -import com.todoroo.astrid.data.TaskListMetadata; - -import java.util.concurrent.atomic.AtomicBoolean; - -public class SubtasksTagUpdater extends SubtasksFilterUpdater { - - private final AtomicBoolean isBeingFiltered; - - public SubtasksTagUpdater(AtomicBoolean isBeingFiltered) { - this.isBeingFiltered = isBeingFiltered; - } - - @Override - protected String getSerializedTree(TaskListMetadata list, Filter filter) { - if (isBeingFiltered.get()) { - return "[]"; //$NON-NLS-1$ - } - return super.getSerializedTree(list, filter); - } - - @Override - protected void writeSerialization(TaskListMetadata list, String serialized, boolean shouldQueueSync) { - if (!isBeingFiltered.get()) { - super.writeSerialization(list, serialized, shouldQueueSync); - } - } - - @Override - public int getIndentForTask(String targetTaskId) { - if (isBeingFiltered.get()) { - return 0; - } - return super.getIndentForTask(targetTaskId); - } - -} diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksUpdater.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksUpdater.java index 8d73d4f18..02fd28cb4 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksUpdater.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksUpdater.java @@ -5,20 +5,21 @@ */ package com.todoroo.astrid.subtasks; -import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.sql.Criterion; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; -import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.service.TaskService; public abstract class SubtasksUpdater extends AstridOrderedListUpdater { - @Autowired TaskListMetadataDao taskListMetadataDao; - public static final String ACTIVE_TASKS_ORDER = "active_tasks_order"; //$NON-NLS-1$ public static final String TODAY_TASKS_ORDER = "today_tasks_order"; //$NON-NLS-1$ + public SubtasksUpdater(TaskService taskService) { + super(taskService); + } + @Override public void initialize(T list, Filter filter) { super.initialize(list, filter);