From 5c7c4fa6f941f09e0f699dab29058dcdac9ca49c Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 2 Jun 2014 14:28:02 -0500 Subject: [PATCH] Remove injection sites --- .../astrid/activity/FilterListFragment.java | 15 +++--- .../activity/FilterShortcutActivity.java | 11 +++-- .../astrid/activity/TaskEditFragment.java | 24 +++++----- .../astrid/activity/TaskListFragment.java | 4 +- .../todoroo/astrid/adapter/FilterAdapter.java | 11 ++--- .../todoroo/astrid/adapter/TaskAdapter.java | 8 +++- .../astrid/alarms/AlarmControlSet.java | 10 ++-- .../astrid/backup/BackupPreferences.java | 17 +++---- .../todoroo/astrid/backup/BackupService.java | 10 ++-- .../astrid/backup/TasksXmlExporter.java | 46 ++++++++---------- .../astrid/backup/TasksXmlImporter.java | 48 +++++++++---------- .../astrid/core/CustomFilterExposer.java | 2 +- .../todoroo/astrid/files/FilesControlSet.java | 11 ++--- .../todoroo/astrid/gcal/GCalControlSet.java | 11 ++--- .../astrid/gtasks/GtasksFilterExposer.java | 2 +- .../astrid/gtasks/GtasksListFragment.java | 4 +- .../astrid/service/StartupService.java | 6 ++- .../AstridOrderedListFragmentHelper.java | 7 ++- .../OrderedMetadataListFragmentHelper.java | 7 ++- .../astrid/subtasks/SubtasksListFragment.java | 4 +- .../subtasks/SubtasksTagListFragment.java | 4 +- .../todoroo/astrid/tags/TagFilterExposer.java | 2 +- .../todoroo/astrid/tags/TagsControlSet.java | 9 ++-- .../astrid/timers/TimerActionControlSet.java | 9 +--- .../astrid/timers/TimerFilterExposer.java | 3 +- .../astrid/ui/EditTitleControlSet.java | 9 ++-- .../com/todoroo/astrid/ui/QuickAddBar.java | 4 +- .../todoroo/astrid/ui/ReminderControlSet.java | 7 ++- .../astrid/widget/WidgetConfigActivity.java | 5 +- .../org/tasks/injection/ActivityModule.java | 45 +++++++++-------- .../org/tasks/injection/BroadcastModule.java | 39 ++++++++------- .../injection/ContentProviderModule.java | 11 ++--- .../org/tasks/injection/FragmentModule.java | 23 ++++----- .../org/tasks/injection/ServiceModule.java | 13 ++--- .../java/org/tasks/injection/TasksModule.java | 36 +++----------- 35 files changed, 225 insertions(+), 252 deletions(-) diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/FilterListFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/FilterListFragment.java index ce59892aa..31419197f 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/FilterListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/FilterListFragment.java @@ -16,7 +16,6 @@ import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; -import android.support.v4.app.ListFragment; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.KeyEvent; @@ -43,6 +42,10 @@ import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterListItem; import org.tasks.R; +import org.tasks.filters.FilterCounter; +import org.tasks.injection.InjectingListFragment; + +import javax.inject.Inject; /** * Activity that displays a user's task lists and allows users @@ -51,7 +54,7 @@ import org.tasks.R; * @author Tim Su * */ -public class FilterListFragment extends ListFragment { +public class FilterListFragment extends InjectingListFragment { public static final String TAG_FILTERLIST_FRAGMENT = "filterlist_fragment"; //$NON-NLS-1$ @@ -77,6 +80,8 @@ public class FilterListFragment extends ListFragment { private OnFilterItemClickedListener mListener; + @Inject FilterCounter filterCounter; + /* ====================================================================== * ======================================================= initialization * ====================================================================== */ @@ -94,17 +99,13 @@ public class FilterListFragment extends ListFragment { // Check that the container activity has implemented the callback interface try { mListener = (OnFilterItemClickedListener) activity; - adapter = instantiateAdapter(); + adapter = new FilterAdapter(filterCounter, getActivity(), null, R.layout.filter_adapter_row, false, false); } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnFilterItemClickedListener"); //$NON-NLS-1$ } } - private FilterAdapter instantiateAdapter() { - return new FilterAdapter(getActivity(), null, R.layout.filter_adapter_row, false, false); - } - /* (non-Javadoc) * @see com.todoroo.astrid.fragment.ExpandableListFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) */ diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/FilterShortcutActivity.java b/astrid/src/main/java/com/todoroo/astrid/activity/FilterShortcutActivity.java index 727d4967d..1a8e1ab0a 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/FilterShortcutActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/FilterShortcutActivity.java @@ -5,7 +5,6 @@ */ package com.todoroo.astrid.activity; -import android.app.ListActivity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; @@ -19,8 +18,14 @@ import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.service.ThemeService; import org.tasks.R; +import org.tasks.filters.FilterCounter; +import org.tasks.injection.InjectingListActivity; -public class FilterShortcutActivity extends ListActivity { +import javax.inject.Inject; + +public class FilterShortcutActivity extends InjectingListActivity { + + @Inject FilterCounter filterCounter; private FilterAdapter adapter = null; @@ -36,7 +41,7 @@ public class FilterShortcutActivity extends ListActivity { setContentView(R.layout.widget_config_activity); // set up ui - adapter = new FilterAdapter(this, getListView(), + adapter = new FilterAdapter(filterCounter, this, getListView(), R.layout.filter_adapter_row, true, true); adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget; setListAdapter(adapter); 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 f3a99c589..f01c5c58e 100755 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -47,6 +47,7 @@ import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmCameraModule; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; +import com.todoroo.astrid.alarms.AlarmService; import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.dao.UserActivityDao; import com.todoroo.astrid.data.RemoteModel; @@ -57,6 +58,7 @@ import com.todoroo.astrid.files.FileExplore; import com.todoroo.astrid.files.FileUtilities; import com.todoroo.astrid.files.FilesControlSet; import com.todoroo.astrid.gcal.GCalControlSet; +import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.helper.TaskEditControlSet; import com.todoroo.astrid.notes.EditNoteActivity; import com.todoroo.astrid.reminders.Notifications; @@ -177,6 +179,8 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { @Inject MetadataService metadataService; @Inject UserActivityDao userActivityDao; @Inject TaskDeleter taskDeleter; + @Inject AlarmService alarmService; + @Inject GCalHelper gcalHelper; // --- UI components @@ -354,19 +358,17 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { controlSetMap = new HashMap<>(); // populate control set - EditTitleControlSet editTitle = new EditTitleControlSet(getActivity(), + EditTitleControlSet editTitle = new EditTitleControlSet(taskService, getActivity(), R.layout.control_set_title, R.id.title); title = (EditText) editTitle.getView().findViewById(R.id.title); controls.add(editTitle); titleControls.addView(editTitle.getDisplayView(), 0, new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f)); - timerAction = new TimerActionControlSet( - getActivity(), getView()); + timerAction = new TimerActionControlSet(taskService, getActivity(), getView()); controls.add(timerAction); - TagsControlSet tagsControlSet = new TagsControlSet(getActivity(), - R.layout.control_set_tags, - R.layout.control_set_default_display, R.string.TEA_tags_label_long); + TagsControlSet tagsControlSet = new TagsControlSet(tagService, getActivity(), + R.layout.control_set_tags, R.layout.control_set_default_display, R.string.TEA_tags_label_long); controls.add(tagsControlSet); controlSetMap.put(getString(R.string.TEA_ctrl_lists_pref), tagsControlSet); @@ -375,7 +377,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { R.layout.control_set_repeat, R.layout.control_set_repeat_display, R.string.repeat_enabled); - GCalControlSet gcalControl = new GCalControlSet(getActivity(), + GCalControlSet gcalControl = new GCalControlSet(gcalHelper, getActivity(), R.layout.control_set_gcal, R.layout.control_set_gcal_display, R.string.gcal_TEA_addToCalendar_label); @@ -412,7 +414,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { notesControlSet); ReminderControlSet reminderControl = new ReminderControlSet( - getActivity(), R.layout.control_set_reminders, + alarmService, getActivity(), R.layout.control_set_reminders, R.layout.control_set_default_display); controls.add(reminderControl); controlSetMap.put(getString(R.string.TEA_ctrl_reminders_pref), @@ -436,10 +438,8 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { controls.add(timerControl); controlSetMap.put(getString(R.string.TEA_ctrl_timer_pref), timerControl); - filesControlSet = new FilesControlSet(getActivity(), - R.layout.control_set_files, - R.layout.control_set_files_display, - R.string.TEA_control_files); + filesControlSet = new FilesControlSet(taskAttachmentDao, getActivity(), + R.layout.control_set_files, R.layout.control_set_files_display, R.string.TEA_control_files); controls.add(filesControlSet); controlSetMap.put(getString(R.string.TEA_ctrl_files_pref), filesControlSet); 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 8f9f53234..54e306d63 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -57,6 +57,7 @@ import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.core.CoreFilterExposer; import com.todoroo.astrid.core.SortHelper; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.RemoteModel; @@ -146,6 +147,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel @Inject TaskDuplicator taskDuplicator; @Inject @ForActivity Context context; @Inject Preferences preferences; + @Inject TaskAttachmentDao taskAttachmentDao; protected Resources resources; protected TaskAdapter taskAdapter = null; @@ -751,7 +753,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { - return new TaskAdapter(taskService, this, getTaskRowResource(preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0)), + return new TaskAdapter(taskAttachmentDao, taskService, this, getTaskRowResource(preferences.getIntegerFromString(R.string.p_taskRowStyle_v2, 0)), cursor, sqlQueryTemplate, new OnCompletedTaskListener() { @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/adapter/FilterAdapter.java b/astrid/src/main/java/com/todoroo/astrid/adapter/FilterAdapter.java index 3a93eff77..ef020e601 100644 --- a/astrid/src/main/java/com/todoroo/astrid/adapter/FilterAdapter.java +++ b/astrid/src/main/java/com/todoroo/astrid/adapter/FilterAdapter.java @@ -45,14 +45,11 @@ import com.todoroo.astrid.api.FilterWithUpdate; import org.tasks.R; import org.tasks.filters.FilterCounter; -import org.tasks.injection.Injector; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.inject.Inject; - public class FilterAdapter extends ArrayAdapter { // --- style constants @@ -62,7 +59,7 @@ public class FilterAdapter extends ArrayAdapter { // --- instance variables - @Inject FilterCounter filterCounter; + private final FilterCounter filterCounter; /** parent activity */ protected final Activity activity; @@ -90,12 +87,10 @@ public class FilterAdapter extends ArrayAdapter { /** whether rows are selectable */ private final boolean selectable; - public FilterAdapter(Activity activity, ListView listView, + public FilterAdapter(FilterCounter filterCounter, Activity activity, ListView listView, int rowLayout, boolean skipIntentFilters, boolean selectable) { super(activity, 0); - - ((Injector) activity.getApplication()).inject(this); - + this.filterCounter = filterCounter; this.activity = activity; this.listView = listView; this.layout = rowLayout; diff --git a/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java index d36c6c73e..8d7dd4467 100644 --- a/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java @@ -54,6 +54,7 @@ import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.TaskAction; import com.todoroo.astrid.core.LinkActionExposer; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskAttachment; @@ -173,6 +174,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { // --- instance variables + private final TaskAttachmentDao taskAttachmentDao; private final TaskService taskService; protected final Context context; @@ -207,9 +209,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable { * @param onCompletedTaskListener * task listener. can be null */ - public TaskAdapter(TaskService taskService, TaskListFragment fragment, int resource, + public TaskAdapter(TaskAttachmentDao taskAttachmentDao, TaskService taskService, TaskListFragment fragment, int resource, Cursor c, AtomicReference query, OnCompletedTaskListener onCompletedTaskListener) { super(ContextManager.getContext(), c, false); + this.taskAttachmentDao = taskAttachmentDao; this.taskService = taskService; this.context = ContextManager.getContext(); this.query = query; @@ -609,7 +612,8 @@ public class TaskAdapter extends CursorAdapter implements Filterable { } private void showFilesDialog(Task task) { - FilesControlSet filesControlSet = new FilesControlSet(fragment.getActivity(), R.layout.control_set_files, + FilesControlSet filesControlSet = new FilesControlSet(taskAttachmentDao, + fragment.getActivity(), R.layout.control_set_files, R.layout.control_set_files_display, R.string.TEA_control_files); filesControlSet.readFromTask(task); filesControlSet.getDisplayView().performClick(); diff --git a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmControlSet.java b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmControlSet.java index c9fd97d79..66e588684 100644 --- a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmControlSet.java @@ -23,13 +23,10 @@ import com.todoroo.astrid.ui.DateAndTimeDialog.DateAndTimeDialogListener; import com.todoroo.astrid.ui.DateAndTimePicker; import org.tasks.R; -import org.tasks.injection.Injector; import java.util.Date; import java.util.LinkedHashSet; -import javax.inject.Inject; - import static org.tasks.date.DateTimeUtils.newDate; /** @@ -40,15 +37,14 @@ import static org.tasks.date.DateTimeUtils.newDate; */ public final class AlarmControlSet extends TaskEditControlSet { - @Inject AlarmService alarmService; + private final AlarmService alarmService; private LinearLayout alertsContainer; private DateAndTimeDialog pickerDialog; - public AlarmControlSet(Activity activity, int layout) { + public AlarmControlSet(AlarmService alarmService, Activity activity, int layout) { super(activity, layout); - - ((Injector) activity.getApplication()).inject(this); + this.alarmService = alarmService; } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/backup/BackupPreferences.java b/astrid/src/main/java/com/todoroo/astrid/backup/BackupPreferences.java index ad07542fb..7b651d890 100644 --- a/astrid/src/main/java/com/todoroo/astrid/backup/BackupPreferences.java +++ b/astrid/src/main/java/com/todoroo/astrid/backup/BackupPreferences.java @@ -41,6 +41,8 @@ public class BackupPreferences extends InjectingTodorooPreferenceActivity { private int statusColor = Color.BLACK; @Inject Preferences preferences; + @Inject TasksXmlImporter xmlImporter; + @Inject TasksXmlExporter xmlExporter; @Override public int getPreferenceResource() { @@ -77,7 +79,7 @@ public class BackupPreferences extends InjectingTodorooPreferenceActivity { findPreference(getString(R.string.backup_BAc_export)).setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { - TasksXmlExporter.exportTasks(BackupPreferences.this, TasksXmlExporter.ExportType.EXPORT_TYPE_MANUAL, null); + xmlExporter.exportTasks(TasksXmlExporter.ExportType.EXPORT_TYPE_MANUAL, null); return true; } }); @@ -147,13 +149,12 @@ public class BackupPreferences extends InjectingTodorooPreferenceActivity { FilePickerBuilder.OnFilePickedListener listener = new FilePickerBuilder.OnFilePickedListener() { @Override public void onFilePicked(String filePath) { - TasksXmlImporter.importTasks(BackupPreferences.this, filePath, - new Runnable() { - @Override - public void run() { - Flags.set(Flags.REFRESH); - } - }); + xmlImporter.importTasks(filePath, new Runnable() { + @Override + public void run() { + Flags.set(Flags.REFRESH); + } + }); } }; new FilePickerBuilder(this, diff --git a/astrid/src/main/java/com/todoroo/astrid/backup/BackupService.java b/astrid/src/main/java/com/todoroo/astrid/backup/BackupService.java index 2444fb447..f829fd7d7 100644 --- a/astrid/src/main/java/com/todoroo/astrid/backup/BackupService.java +++ b/astrid/src/main/java/com/todoroo/astrid/backup/BackupService.java @@ -7,7 +7,6 @@ package com.todoroo.astrid.backup; import android.app.AlarmManager; import android.app.PendingIntent; -import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; @@ -18,16 +17,19 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.Preferences; import org.tasks.R; +import org.tasks.injection.InjectingService; import java.io.File; import java.io.FileFilter; import java.util.Arrays; import java.util.Comparator; +import javax.inject.Inject; + /** * Inspired heavily by SynchronizationService */ -public class BackupService extends Service { +public class BackupService extends InjectingService { private static final String TAG = "BackupService"; @@ -46,6 +48,8 @@ public class BackupService extends Service { public static final String BACKUP_FILE_NAME_REGEX = "auto\\.[-\\d]+\\.xml"; //$NON-NLS-1$ private static final int DAYS_TO_KEEP_BACKUP = 7; + @Inject TasksXmlExporter xmlExporter; + @Override public IBinder onBind(Intent intent) { return null; @@ -83,7 +87,7 @@ public class BackupService extends Service { Log.e("error-deleting", "Error deleting old backups", e); //$NON-NLS-1$ //$NON-NLS-2$ } - TasksXmlExporter.exportTasks(context, TasksXmlExporter.ExportType.EXPORT_TYPE_SERVICE, + xmlExporter.exportTasks(TasksXmlExporter.ExportType.EXPORT_TYPE_SERVICE, backupDirectorySetting.getBackupDirectory()); } catch (Exception e) { diff --git a/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java b/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java index 4b918611b..43c0b0f7b 100644 --- a/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java +++ b/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java @@ -31,7 +31,6 @@ import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.utility.AstridPreferences; import org.tasks.R; -import org.tasks.injection.Injector; import org.tasks.preferences.Preferences; import org.xmlpull.v1.XmlSerializer; @@ -41,24 +40,14 @@ import java.io.IOException; import javax.inject.Inject; +import static org.tasks.injection.TasksModule.ForApplication; + public class TasksXmlExporter { private static final String TAG = "TasksXmlExporter"; // --- public interface - /** - * Import tasks from the given file - * - * @param context context - * @param exportType from service, manual, or on upgrade - * @param backupDirectoryOverride new backupdirectory, or null to use default - */ - public static void exportTasks(Context context, ExportType exportType, - File backupDirectoryOverride) { - new TasksXmlExporter(context, exportType, backupDirectoryOverride); - } - public static enum ExportType { EXPORT_TYPE_SERVICE, EXPORT_TYPE_MANUAL, @@ -67,22 +56,21 @@ public class TasksXmlExporter { // --- implementation - @Inject TagDataService tagDataService; - @Inject MetadataService metadataService; - @Inject TaskService taskService; - @Inject Preferences preferences; + private final TagDataService tagDataService; + private final MetadataService metadataService; + private final TaskService taskService; + private final Preferences preferences; + private final Context context; // 3 is started on Version 4.6.10 private static final int FORMAT = 3; - - private final Context context; private int exportCount = 0; private XmlSerializer xml; - private final ProgressDialog progressDialog; - private final Handler handler; - private final File backupDirectory; - private final String latestSetVersionName; + private ProgressDialog progressDialog; + private Handler handler; + private File backupDirectory; + private String latestSetVersionName; private void setProgress(final int taskNumber, final int total) { handler.post(new Runnable() { @@ -94,10 +82,16 @@ public class TasksXmlExporter { }); } - private TasksXmlExporter(final Context context, final ExportType exportType, File backupDirectoryOverride) { - ((Injector) context.getApplicationContext()).inject(this); - + @Inject + public TasksXmlExporter(@ForApplication Context context, TagDataService tagDataService, MetadataService metadataService, TaskService taskService, Preferences preferences) { this.context = context; + this.tagDataService = tagDataService; + this.metadataService = metadataService; + this.taskService = taskService; + this.preferences = preferences; + } + + public void exportTasks(final ExportType exportType, File backupDirectoryOverride) { this.exportCount = 0; this.backupDirectory = backupDirectoryOverride == null ? BackupConstants.defaultExportDirectory() : backupDirectoryOverride; diff --git a/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java b/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java index a49d85d4a..2fbf12d27 100644 --- a/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java +++ b/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java @@ -41,7 +41,6 @@ import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TaskToTagMetadata; import org.tasks.R; -import org.tasks.injection.Injector; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; @@ -53,37 +52,28 @@ import java.util.LinkedHashSet; import java.util.StringTokenizer; import javax.inject.Inject; +import javax.inject.Singleton; + +import static org.tasks.injection.TasksModule.ForApplication; public class TasksXmlImporter { private static final String TAG = "TasksXmlImporter"; - // --- public interface - - /** - * Import tasks from the given file - */ - public static void importTasks(Context context, String input, Runnable runAfterImport) { - new TasksXmlImporter(context, input, runAfterImport); - } - - // --- implementation - - @Inject TagDataService tagDataService; - @Inject TagService tagService; - @Inject MetadataService metadataService; - @Inject TaskService taskService; + private final TagDataService tagDataService; + private final TagService tagService; + private final MetadataService metadataService; + private final TaskService taskService; + private final Context context; - private final Handler handler; + private Handler handler; private int taskCount; private int importCount = 0; private int skipCount = 0; private int errorCount = 0; - private final String input; - - private final Context context; - private final ProgressDialog progressDialog; - private final Runnable runAfterImport; + private ProgressDialog progressDialog; + private Runnable runAfterImport; + private String input; private void setProgressMessage(final String message) { handler.post(new Runnable() { @@ -94,15 +84,21 @@ public class TasksXmlImporter { }); } + @Inject + public TasksXmlImporter(@ForApplication Context context, TagDataService tagDataService, TagService tagService, MetadataService metadataService, TaskService taskService) { + this.context = context; + this.tagDataService = tagDataService; + this.tagService = tagService; + this.metadataService = metadataService; + this.taskService = taskService; + } + /** * Import tasks. * @param runAfterImport optional runnable after import */ - private TasksXmlImporter(final Context context, String input, Runnable runAfterImport) { - ((Injector) context.getApplicationContext()).inject(this); - + public void importTasks(String input, Runnable runAfterImport) { this.input = input; - this.context = context; this.runAfterImport = runAfterImport; handler = new Handler(); diff --git a/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java index bd49ac878..b9a4d5e06 100644 --- a/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java @@ -69,7 +69,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr } private Filter[] buildSavedFilters(Context context, Resources r) { - ((Injector) context.getApplicationContext()).inject(this); + ((Injector) context.getApplicationContext()).inject(this); // TODO: get rid of this int themeFlags = ThemeService.getFilterThemeFlags(); diff --git a/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java b/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java index b052f6481..d31498555 100644 --- a/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java @@ -41,26 +41,21 @@ import com.todoroo.astrid.voice.RecognizerApi; import com.todoroo.astrid.voice.RecognizerApi.PlaybackExceptionHandler; import org.tasks.R; -import org.tasks.injection.Injector; import java.io.File; import java.util.ArrayList; -import javax.inject.Inject; - public class FilesControlSet extends PopupControlSet { - @Inject TaskAttachmentDao taskAttachmentDao; - private final ArrayList files = new ArrayList<>(); private final LinearLayout fileDisplayList; private final LayoutInflater inflater; private final ImageView image; + private final TaskAttachmentDao taskAttachmentDao; - public FilesControlSet(Activity activity, int viewLayout, int displayViewLayout, int title) { + public FilesControlSet(TaskAttachmentDao taskAttachmentDao, Activity activity, int viewLayout, int displayViewLayout, int title) { super(activity, viewLayout, displayViewLayout, title); - ((Injector) activity.getApplication()).inject(this); - + this.taskAttachmentDao = taskAttachmentDao; fileDisplayList = (LinearLayout) getDisplayView().findViewById(R.id.files_list); image = (ImageView) getDisplayView().findViewById(R.id.display_row_icon); inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); diff --git a/astrid/src/main/java/com/todoroo/astrid/gcal/GCalControlSet.java b/astrid/src/main/java/com/todoroo/astrid/gcal/GCalControlSet.java index a77125b97..03c80f054 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gcal/GCalControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/gcal/GCalControlSet.java @@ -33,13 +33,10 @@ import com.todoroo.astrid.ui.PopupControlSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.tasks.R; -import org.tasks.injection.Injector; import java.util.ArrayList; import java.util.Collections; -import javax.inject.Inject; - /** * Control Set for managing repeats * @@ -52,7 +49,7 @@ public class GCalControlSet extends PopupControlSet { // --- instance variables - @Inject GCalHelper gcal; + private final GCalHelper gcal; private Uri calendarUri = null; @@ -62,11 +59,9 @@ public class GCalControlSet extends PopupControlSet { private final int title; private final ImageView image; - public GCalControlSet(final Activity activity, int viewLayout, int displayViewLayout, int title) { + public GCalControlSet(GCalHelper gcal, final Activity activity, int viewLayout, int displayViewLayout, int title) { super(activity, viewLayout, displayViewLayout, title); - - ((Injector)activity.getApplication()).inject(this); - + this.gcal = gcal; this.title = title; calendars = Calendars.getCalendars(); getView(); // Hack to force initialized diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java index dcdba3a66..6eb810ee7 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksFilterExposer.java @@ -87,7 +87,7 @@ public class GtasksFilterExposer extends BroadcastReceiver implements AstridFilt } private FilterListItem[] prepareFilters(Context context) { - ((Injector) context.getApplicationContext()).inject(this); + ((Injector) context.getApplicationContext()).inject(this); // TODO: get rid of this // if we aren't logged in (or we are logged in to astrid.com), don't expose features if(!gtasksPreferenceService.isLoggedIn()) { 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 ef098410e..c35b3555c 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java @@ -19,6 +19,7 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.StoreObjectDao; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.helper.ProgressBarSyncResultCallback; @@ -46,6 +47,7 @@ public class GtasksListFragment extends SubtasksListFragment { @Inject GtasksMetadataService gtasksMetadataService; @Inject SyncV2Service syncService; @Inject @ForActivity Context context; + @Inject TaskAttachmentDao taskAttachmentDao; private StoreObject list; @@ -60,7 +62,7 @@ public class GtasksListFragment extends SubtasksListFragment { @Override protected OrderedListFragmentHelperInterface createFragmentHelper() { - return new OrderedMetadataListFragmentHelper<>(taskService, metadataService, this, gtasksTaskListUpdater); + return new OrderedMetadataListFragmentHelper<>(taskAttachmentDao, taskService, metadataService, this, gtasksTaskListUpdater); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/service/StartupService.java b/astrid/src/main/java/com/todoroo/astrid/service/StartupService.java index f50f78afe..344b38d17 100644 --- a/astrid/src/main/java/com/todoroo/astrid/service/StartupService.java +++ b/astrid/src/main/java/com/todoroo/astrid/service/StartupService.java @@ -78,13 +78,14 @@ public class StartupService { private final GtasksSyncService gtasksSyncService; private final MetadataService metadataService; private final Preferences preferences; + private final TasksXmlImporter xmlImporter; @Inject public StartupService(UpgradeService upgradeService, TaskService taskService, TagDataDao tagDataDao, Database database, GtasksPreferenceService gtasksPreferenceService, GtasksSyncService gtasksSyncService, MetadataService metadataService, - Preferences preferences) { + Preferences preferences, TasksXmlImporter xmlImporter) { this.upgradeService = upgradeService; this.taskService = taskService; this.tagDataDao = tagDataDao; @@ -93,6 +94,7 @@ public class StartupService { this.gtasksSyncService = gtasksSyncService; this.metadataService = metadataService; this.preferences = preferences; + this.xmlImporter = xmlImporter; } /** @@ -264,7 +266,7 @@ public class StartupService { File[] children = directory.listFiles(); AndroidUtilities.sortFilesByDateDesc(children); if(children.length > 0) { - TasksXmlImporter.importTasks(context, children[0].getAbsolutePath(), null); + xmlImporter.importTasks(children[0].getAbsolutePath(), null); } } } catch (Exception e) { 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 93d662562..1e28ade5b 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java @@ -24,6 +24,7 @@ import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener; import com.todoroo.astrid.api.Filter; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.TaskService; @@ -45,13 +46,15 @@ public class AstridOrderedListFragmentHelper implements OrderedListFragmen private final DisplayMetrics metrics = new DisplayMetrics(); private final AstridOrderedListUpdater updater; private final TaskListFragment fragment; + private final TaskAttachmentDao taskAttachmentDao; private final TaskService taskService; private DraggableTaskAdapter taskAdapter; private LIST list; - public AstridOrderedListFragmentHelper(TaskService taskService, TaskListFragment fragment, AstridOrderedListUpdater updater) { + public AstridOrderedListFragmentHelper(TaskAttachmentDao taskAttachmentDao, TaskService taskService, TaskListFragment fragment, AstridOrderedListUpdater updater) { + this.taskAttachmentDao = taskAttachmentDao; this.taskService = taskService; this.fragment = fragment; this.updater = updater; @@ -207,7 +210,7 @@ public class AstridOrderedListFragmentHelper implements OrderedListFragmen private DraggableTaskAdapter(TaskListFragment activity, int resource, Cursor c, AtomicReference query) { - super(taskService, activity, resource, c, query, null); + super(taskAttachmentDao, taskService, activity, resource, c, query, null); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java index 1b1ae105b..d720a4df3 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/OrderedMetadataListFragmentHelper.java @@ -26,6 +26,7 @@ import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener; import com.todoroo.astrid.api.Filter; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.MetadataService; @@ -51,6 +52,7 @@ public class OrderedMetadataListFragmentHelper implements OrderedListFragm private final OrderedMetadataListUpdater updater; private final TaskListFragment fragment; + private final TaskAttachmentDao taskAttachmentDao; private final TaskService taskService; private final MetadataService metadataService; @@ -58,7 +60,8 @@ public class OrderedMetadataListFragmentHelper implements OrderedListFragm private LIST list; - public OrderedMetadataListFragmentHelper(TaskService taskService, MetadataService metadataService, TaskListFragment fragment, OrderedMetadataListUpdater updater) { + public OrderedMetadataListFragmentHelper(TaskAttachmentDao taskAttachmentDao, TaskService taskService, MetadataService metadataService, TaskListFragment fragment, OrderedMetadataListUpdater updater) { + this.taskAttachmentDao = taskAttachmentDao; this.taskService = taskService; this.metadataService = metadataService; this.fragment = fragment; @@ -219,7 +222,7 @@ public class OrderedMetadataListFragmentHelper implements OrderedListFragm private DraggableTaskAdapter(TaskListFragment activity, int resource, Cursor c, AtomicReference query) { - super(taskService, activity, resource, c, query, null); + super(taskAttachmentDao, taskService, activity, resource, c, query, null); } @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 58b6eb3bf..dd1a59333 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java @@ -12,6 +12,7 @@ import android.view.ViewGroup; import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.adapter.TaskAdapter; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskListMetadata; import com.todoroo.astrid.service.TaskService; @@ -34,6 +35,7 @@ public class SubtasksListFragment extends TaskListFragment { @Inject TaskService taskService; @Inject SubtasksFilterUpdater subtasksFilterUpdater; + @Inject TaskAttachmentDao taskAttachmentDao; @Override public void onAttach(Activity activity) { @@ -43,7 +45,7 @@ public class SubtasksListFragment extends TaskListFragment { } protected OrderedListFragmentHelperInterface createFragmentHelper() { - return new AstridOrderedListFragmentHelper<>(taskService, this, subtasksFilterUpdater); + return new AstridOrderedListFragmentHelper<>(taskAttachmentDao, 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 412d20227..4724d39d7 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java @@ -12,6 +12,7 @@ import android.view.ViewGroup; import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.adapter.TaskAdapter; +import com.todoroo.astrid.dao.TaskAttachmentDao; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskListMetadata; import com.todoroo.astrid.service.TaskService; @@ -24,6 +25,7 @@ public class SubtasksTagListFragment extends TagViewFragment { @Inject TaskService taskService; @Inject SubtasksFilterUpdater subtasksFilterUpdater; + @Inject TaskAttachmentDao taskAttachmentDao; private AstridOrderedListFragmentHelper helper; @@ -33,7 +35,7 @@ public class SubtasksTagListFragment extends TagViewFragment { public void onAttach(Activity activity) { super.onAttach(activity); - helper = new AstridOrderedListFragmentHelper<>(taskService, this, subtasksFilterUpdater); + helper = new AstridOrderedListFragmentHelper<>(taskAttachmentDao, taskService, this, subtasksFilterUpdater); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java index 07bb7108d..581985852 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagFilterExposer.java @@ -124,7 +124,7 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE } private FilterListItem[] prepareFilters(Context context) { - ((Injector) context.getApplicationContext()).inject(this); + ((Injector) context.getApplicationContext()).inject(this); // TODO: get rid of this ContextManager.setContext(context); diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java index 61443b8e6..d408c7e05 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java @@ -34,14 +34,11 @@ import com.todoroo.astrid.ui.PopupControlSet; import com.todoroo.astrid.utility.Flags; import org.tasks.R; -import org.tasks.injection.Injector; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashSet; -import javax.inject.Inject; - /** * Control set to manage adding and removing tags * @@ -65,11 +62,11 @@ public final class TagsControlSet extends PopupControlSet { //private final LinearLayout tagsContainer; private final TextView tagsDisplay; - @Inject TagService tagService; + private final TagService tagService; - public TagsControlSet(Activity activity, int viewLayout, int displayViewLayout, int title) { + public TagsControlSet(TagService tagService, Activity activity, int viewLayout, int displayViewLayout, int title) { super(activity, viewLayout, displayViewLayout, title); - ((Injector) activity.getApplication()).inject(this); + this.tagService = tagService; tagsDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit); image = (ImageView) getDisplayView().findViewById(R.id.display_row_icon); } diff --git a/astrid/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java b/astrid/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java index 1f8c00f4a..4889c9dfa 100644 --- a/astrid/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/timers/TimerActionControlSet.java @@ -21,27 +21,20 @@ import com.todoroo.astrid.helper.TaskEditControlSet; import com.todoroo.astrid.service.TaskService; import org.tasks.R; -import org.tasks.injection.Injector; import java.util.LinkedList; import java.util.List; -import javax.inject.Inject; - public class TimerActionControlSet extends TaskEditControlSet { - @Inject TaskService taskService; - private final ImageView timerButton; private final Chronometer chronometer; private boolean timerActive; private final List listeners = new LinkedList<>(); - public TimerActionControlSet(final Activity activity, View parent) { + public TimerActionControlSet(final TaskService taskService, final Activity activity, View parent) { super(activity, -1); - ((Injector) activity.getApplication()).inject(this); - LinearLayout timerContainer = (LinearLayout) parent.findViewById(R.id.timer_container); timerButton = (ImageView) parent.findViewById(R.id.timer_button); OnClickListener timerListener = new OnClickListener() { diff --git a/astrid/src/main/java/com/todoroo/astrid/timers/TimerFilterExposer.java b/astrid/src/main/java/com/todoroo/astrid/timers/TimerFilterExposer.java index e575895e0..e514cf2e5 100644 --- a/astrid/src/main/java/com/todoroo/astrid/timers/TimerFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/timers/TimerFilterExposer.java @@ -49,8 +49,7 @@ public final class TimerFilterExposer extends BroadcastReceiver implements Astri } private FilterListItem[] prepareFilters(Context context) { - // TODO: get rid of this - ((Injector) context.getApplicationContext()).inject(this); + ((Injector) context.getApplicationContext()).inject(this); // TODO: get rid of this if(taskService.count(Query.select(Task.ID). where(Task.TIMER_START.gt(0))) == 0) { diff --git a/astrid/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java b/astrid/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java index aa25a001a..32d29c09c 100644 --- a/astrid/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java @@ -25,9 +25,6 @@ import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.ui.ImportanceControlSet.ImportanceChangedListener; import org.tasks.R; -import org.tasks.injection.Injector; - -import javax.inject.Inject; /** * Control set for mapping a Property to an EditText @@ -42,11 +39,11 @@ public class EditTitleControlSet extends TaskEditControlSet implements Importanc private boolean isRepeating; private int importanceValue; - @Inject TaskService taskService; + private final TaskService taskService; - public EditTitleControlSet(Activity activity, int layout, int editText) { + public EditTitleControlSet(TaskService taskService, Activity activity, int layout, int editText) { super(activity, layout); - ((Injector) activity.getApplication()).inject(this); + this.taskService = taskService; this.editTextId = editText; } diff --git a/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java b/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java index aa614dcfa..05791c5b0 100644 --- a/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java +++ b/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java @@ -98,7 +98,7 @@ public class QuickAddBar extends LinearLayout { public void initialize(AstridActivity myActivity, TaskListFragment myFragment, final OnTaskListItemClickedListener mListener) { - ((Injector) myActivity.getApplication()).inject(this); + ((Injector) myActivity.getApplication()).inject(this); // TODO: get rid of this activity = myActivity; fragment = myFragment; @@ -210,7 +210,7 @@ public class QuickAddBar extends LinearLayout { R.layout.control_set_repeat, R.layout.control_set_repeat_display, R.string.repeat_enabled); - gcalControl = new GCalControlSet(activity, + gcalControl = new GCalControlSet(gcalHelper, activity, R.layout.control_set_gcal, R.layout.control_set_gcal_display, R.string.gcal_TEA_addToCalendar_label); diff --git a/astrid/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java b/astrid/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java index 41237f241..8aa331393 100644 --- a/astrid/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.java @@ -18,6 +18,7 @@ import android.widget.Spinner; import android.widget.TextView; import com.todoroo.astrid.alarms.AlarmControlSet; +import com.todoroo.astrid.alarms.AlarmService; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.ThemeService; @@ -43,9 +44,11 @@ public class ReminderControlSet extends PopupControlSet { private RandomReminderControlSet randomControlSet; private AlarmControlSet alarmControl; + private final AlarmService alarmService; - public ReminderControlSet(Activity activity, int viewLayout, int displayViewLayout) { + public ReminderControlSet(AlarmService alarmService, Activity activity, int viewLayout, int displayViewLayout) { super(activity, viewLayout, displayViewLayout, R.string.TEA_reminders_group_label); + this.alarmService = alarmService; extraViews = new ArrayList<>(); label = (TextView) getDisplayView().findViewById(R.id.display_row_edit); @@ -109,7 +112,7 @@ public class ReminderControlSet extends PopupControlSet { }); randomControlSet = new RandomReminderControlSet(activity, getView(), -1); - alarmControl = new AlarmControlSet(activity, R.layout.control_set_alarms); + alarmControl = new AlarmControlSet(alarmService, activity, R.layout.control_set_alarms); alarmControl.readFromTask(model); remindersBody = (LinearLayout) getView().findViewById(R.id.reminders_body); diff --git a/astrid/src/main/java/com/todoroo/astrid/widget/WidgetConfigActivity.java b/astrid/src/main/java/com/todoroo/astrid/widget/WidgetConfigActivity.java index e0e16676a..235aee8b5 100644 --- a/astrid/src/main/java/com/todoroo/astrid/widget/WidgetConfigActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/widget/WidgetConfigActivity.java @@ -24,6 +24,7 @@ import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.service.ThemeService; import org.tasks.R; +import org.tasks.filters.FilterCounter; import org.tasks.injection.InjectingListActivity; import org.tasks.widget.WidgetHelper; @@ -43,6 +44,7 @@ public class WidgetConfigActivity extends InjectingListActivity { FilterAdapter adapter = null; @Inject WidgetHelper widgetHelper; + @Inject FilterCounter filterCounter; private void updateWidget() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { @@ -85,7 +87,7 @@ public class WidgetConfigActivity extends InjectingListActivity { } // set up ui - adapter = new FilterAdapter(this, getListView(), + adapter = new FilterAdapter(filterCounter, this, getListView(), R.layout.filter_adapter_row, true, true); adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget; setListAdapter(adapter); @@ -167,5 +169,4 @@ public class WidgetConfigActivity extends InjectingListActivity { } } } - } diff --git a/astrid/src/main/java/org/tasks/injection/ActivityModule.java b/astrid/src/main/java/org/tasks/injection/ActivityModule.java index 83e37d18d..d7546e75c 100644 --- a/astrid/src/main/java/org/tasks/injection/ActivityModule.java +++ b/astrid/src/main/java/org/tasks/injection/ActivityModule.java @@ -5,9 +5,11 @@ import android.content.Context; import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.activity.EditPreferences; +import com.todoroo.astrid.activity.FilterShortcutActivity; import com.todoroo.astrid.activity.ShareLinkActivity; import com.todoroo.astrid.activity.TaskEditActivity; import com.todoroo.astrid.activity.TaskListActivity; +import com.todoroo.astrid.backup.BackupPreferences; import com.todoroo.astrid.calls.MissedCallActivity; import com.todoroo.astrid.core.CustomFilterActivity; import com.todoroo.astrid.core.CustomFilterExposer; @@ -38,27 +40,28 @@ import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static org.tasks.injection.TasksModule.ForApplication; -@Module(library = true, - injects = { - TaskListActivity.class, - TaskEditActivity.class, - ShareLinkActivity.class, - TagSettingsActivity.class, - CustomFilterActivity.class, - MissedCallActivity.class, - CalendarAlarmListCreator.class, - CustomFilterExposer.DeleteActivity.class, - CalendarReminderActivity.class, - GtasksListAdder.class, - TagFilterExposer.DeleteTagActivity.class, - TagFilterExposer.RenameTagActivity.class, - VoiceCommandActivity.class, - GtasksLoginActivity.class, - WidgetConfigActivity.class, - EditPreferences.class, - GtasksPreferences.class, - OldTaskPreferences.class - }) +@Module(injects = { + TaskListActivity.class, + TaskEditActivity.class, + ShareLinkActivity.class, + TagSettingsActivity.class, + CustomFilterActivity.class, + MissedCallActivity.class, + CalendarAlarmListCreator.class, + CustomFilterExposer.DeleteActivity.class, + CalendarReminderActivity.class, + GtasksListAdder.class, + TagFilterExposer.DeleteTagActivity.class, + TagFilterExposer.RenameTagActivity.class, + VoiceCommandActivity.class, + GtasksLoginActivity.class, + WidgetConfigActivity.class, + EditPreferences.class, + GtasksPreferences.class, + OldTaskPreferences.class, + BackupPreferences.class, + FilterShortcutActivity.class +}) public class ActivityModule { private final Context context; diff --git a/astrid/src/main/java/org/tasks/injection/BroadcastModule.java b/astrid/src/main/java/org/tasks/injection/BroadcastModule.java index 5843f5cee..61d778474 100644 --- a/astrid/src/main/java/org/tasks/injection/BroadcastModule.java +++ b/astrid/src/main/java/org/tasks/injection/BroadcastModule.java @@ -28,26 +28,25 @@ import dagger.Provides; import static org.tasks.injection.TasksModule.ForApplication; -@Module(library = true, - injects = { - RefreshBroadcastReceiver.class, - TasksWidget.class, - Notifications.class, - GtasksCustomFilterCriteriaExposer.class, - GtasksDetailExposer.class, - GlobalEventReceiver.class, - TagDetailExposer.class, - TagCustomFilterCriteriaExposer.class, - NotesDetailExposer.class, - GCalTaskCompleteListener.class, - RepeatDetailExposer.class, - TimerTaskCompleteListener.class, - RepeatTaskCompleteListener.class, - AlarmTaskRepeatListener.class, - AlarmDetailExposer.class, - GtasksStartupReceiver.class, - PhoneStateChangedReceiver.class - }) +@Module(injects = { + RefreshBroadcastReceiver.class, + TasksWidget.class, + Notifications.class, + GtasksCustomFilterCriteriaExposer.class, + GtasksDetailExposer.class, + GlobalEventReceiver.class, + TagDetailExposer.class, + TagCustomFilterCriteriaExposer.class, + NotesDetailExposer.class, + GCalTaskCompleteListener.class, + RepeatDetailExposer.class, + TimerTaskCompleteListener.class, + RepeatTaskCompleteListener.class, + AlarmTaskRepeatListener.class, + AlarmDetailExposer.class, + GtasksStartupReceiver.class, + PhoneStateChangedReceiver.class +}) public class BroadcastModule { private final Context context; diff --git a/astrid/src/main/java/org/tasks/injection/ContentProviderModule.java b/astrid/src/main/java/org/tasks/injection/ContentProviderModule.java index 9279eaf02..a4e6fe76b 100644 --- a/astrid/src/main/java/org/tasks/injection/ContentProviderModule.java +++ b/astrid/src/main/java/org/tasks/injection/ContentProviderModule.java @@ -13,12 +13,11 @@ import dagger.Provides; import static org.tasks.injection.TasksModule.ForApplication; -@Module(library = true, - injects = { - Astrid2TaskProvider.class, - Astrid3ContentProvider.class, - SqlContentProvider.class - }) +@Module(injects = { + Astrid2TaskProvider.class, + Astrid3ContentProvider.class, + SqlContentProvider.class +}) public class ContentProviderModule { private final Context context; diff --git a/astrid/src/main/java/org/tasks/injection/FragmentModule.java b/astrid/src/main/java/org/tasks/injection/FragmentModule.java index a31106406..72fcd6b9e 100644 --- a/astrid/src/main/java/org/tasks/injection/FragmentModule.java +++ b/astrid/src/main/java/org/tasks/injection/FragmentModule.java @@ -5,6 +5,7 @@ import android.content.Context; import com.todoroo.astrid.actfm.TagCommentsFragment; import com.todoroo.astrid.actfm.TagViewFragment; +import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.activity.TaskEditFragment; import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.gtasks.GtasksListFragment; @@ -20,17 +21,17 @@ import dagger.Provides; import static org.tasks.injection.ActivityModule.ForActivity; import static org.tasks.injection.TasksModule.ForApplication; -@Module(library = true, - injects = { - TaskListFragment.class, - GtasksListFragment.class, - NotificationFragment.class, - SubtasksListFragment.class, - SubtasksTagListFragment.class, - TagViewFragment.class, - TaskEditFragment.class, - TagCommentsFragment.class - }) +@Module(injects = { + TaskListFragment.class, + GtasksListFragment.class, + NotificationFragment.class, + SubtasksListFragment.class, + SubtasksTagListFragment.class, + TagViewFragment.class, + TaskEditFragment.class, + TagCommentsFragment.class, + FilterListFragment.class +}) public class FragmentModule { private final Activity activity; diff --git a/astrid/src/main/java/org/tasks/injection/ServiceModule.java b/astrid/src/main/java/org/tasks/injection/ServiceModule.java index a6babf17b..77a926c67 100644 --- a/astrid/src/main/java/org/tasks/injection/ServiceModule.java +++ b/astrid/src/main/java/org/tasks/injection/ServiceModule.java @@ -3,6 +3,7 @@ package org.tasks.injection; import android.app.Service; import android.content.Context; +import com.todoroo.astrid.backup.BackupService; import com.todoroo.astrid.gtasks.GtasksBackgroundService; import com.todoroo.astrid.reminders.ReminderSchedulingService; @@ -15,12 +16,12 @@ import dagger.Provides; import static org.tasks.injection.TasksModule.ForApplication; -@Module(library = true, - injects = { - GtasksBackgroundService.class, - ReminderSchedulingService.class, - ScrollableWidgetUpdateService.class - }) +@Module(injects = { + GtasksBackgroundService.class, + ReminderSchedulingService.class, + ScrollableWidgetUpdateService.class, + BackupService.class +}) public class ServiceModule { private final Context context; diff --git a/astrid/src/main/java/org/tasks/injection/TasksModule.java b/astrid/src/main/java/org/tasks/injection/TasksModule.java index 81a9309e1..5191fd7e7 100644 --- a/astrid/src/main/java/org/tasks/injection/TasksModule.java +++ b/astrid/src/main/java/org/tasks/injection/TasksModule.java @@ -3,23 +3,12 @@ package org.tasks.injection; import android.app.Application; import android.content.Context; -import com.todoroo.astrid.adapter.FilterAdapter; -import com.todoroo.astrid.alarms.AlarmControlSet; -import com.todoroo.astrid.backup.TasksXmlExporter; -import com.todoroo.astrid.backup.TasksXmlImporter; import com.todoroo.astrid.core.CustomFilterExposer; -import com.todoroo.astrid.files.FilesControlSet; -import com.todoroo.astrid.gcal.GCalControlSet; import com.todoroo.astrid.gtasks.GtasksFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer; -import com.todoroo.astrid.tags.TagsControlSet; -import com.todoroo.astrid.timers.TimerActionControlSet; import com.todoroo.astrid.timers.TimerFilterExposer; -import com.todoroo.astrid.ui.EditTitleControlSet; import com.todoroo.astrid.ui.QuickAddBar; -import org.tasks.widget.ScrollableViewsFactory; - import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; @@ -35,24 +24,13 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; -@Module( - injects = { - ScrollableViewsFactory.class, - QuickAddBar.class, - EditTitleControlSet.class, - FilesControlSet.class, - TagsControlSet.class, - AlarmControlSet.class, - FilterAdapter.class, - TimerFilterExposer.class, - GCalControlSet.class, - TimerActionControlSet.class, - CustomFilterExposer.class, - GtasksFilterExposer.class, - TagFilterExposer.class, - TasksXmlExporter.class, - TasksXmlImporter.class - } +@Module(injects = { + QuickAddBar.class, + TimerFilterExposer.class, + CustomFilterExposer.class, + GtasksFilterExposer.class, + TagFilterExposer.class +} ) public class TasksModule {