Remove TagDataService, fix tests

pull/189/head
Alex Baker 12 years ago
parent 300622a8f7
commit 379e321475

@ -150,7 +150,7 @@ public class GtasksIndentActionTest extends DatabaseTestCase {
lists.setItems(items); lists.setItems(items);
gtasksListService.updateLists(lists); gtasksListService.updateLists(lists);
storeList = gtasksListService.getLists()[0]; storeList = gtasksListService.getLists().get(0);
} }
private Task taskWithMetadata(long order, int indentation) { private Task taskWithMetadata(long order, int indentation) {

@ -256,7 +256,7 @@ public class GtasksTaskMovingTest extends DatabaseTestCase {
lists.setItems(items); lists.setItems(items);
gtasksListService.updateLists(lists); gtasksListService.updateLists(lists);
list = gtasksListService.getLists()[0]; list = gtasksListService.getLists().get(0);
} }
/** /**

@ -24,9 +24,9 @@ import android.widget.EditText;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.helper.UUIDHelper; import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
@ -59,7 +59,7 @@ public class TagSettingsActivity extends InjectingActionBarActivity {
private TagData tagData; private TagData tagData;
@Inject TagService tagService; @Inject TagService tagService;
@Inject TagDataService tagDataService; @Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences; @Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver; @Inject ResourceResolver resourceResolver;
@ -174,7 +174,7 @@ public class TagSettingsActivity extends InjectingActionBarActivity {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(tagName.getWindowToken(), 0); imm.hideSoftInputFromWindow(tagName.getWindowToken(), 0);
tagDataService.save(tagData); tagDataDao.persist(tagData);
if (isNewTag) { if (isNewTag) {
setResult(RESULT_OK, new Intent().putExtra(TOKEN_NEW_FILTER, setResult(RESULT_OK, new Intent().putExtra(TOKEN_NEW_FILTER,

@ -26,7 +26,6 @@ import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.dao.TagDataDao; import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.subtasks.SubtasksTagListFragment; import com.todoroo.astrid.subtasks.SubtasksTagListFragment;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Flags;
@ -52,7 +51,6 @@ public class TagViewFragment extends TaskListFragment {
protected TagData tagData; protected TagData tagData;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao; @Inject TagDataDao tagDataDao;
protected View taskListView; protected View taskListView;
@ -119,9 +117,9 @@ public class TagViewFragment extends TaskListFragment {
TodorooCursor<TagData> cursor; TodorooCursor<TagData> cursor;
if (!RemoteModel.isUuidEmpty(uuid)) { if (!RemoteModel.isUuidEmpty(uuid)) {
cursor = tagDataService.query(Query.select(TagData.PROPERTIES).where(TagData.UUID.eq(uuid))); cursor = tagDataDao.query(Query.select(TagData.PROPERTIES).where(TagData.UUID.eq(uuid)));
} else { } else {
cursor = tagDataService.query(Query.select(TagData.PROPERTIES).where(TagData.NAME.eqCaseInsensitive(tag))); cursor = tagDataDao.query(Query.select(TagData.PROPERTIES).where(TagData.NAME.eqCaseInsensitive(tag)));
} }
try { try {
@ -129,7 +127,7 @@ public class TagViewFragment extends TaskListFragment {
tagData = new TagData(); tagData = new TagData();
tagData.setName(tag); tagData.setName(tag);
tagData.setUUID(uuid); tagData.setUUID(uuid);
tagDataService.save(tagData); tagDataDao.persist(tagData);
} else { } else {
cursor.moveToFirst(); cursor.moveToFirst();
tagData = new TagData(cursor); tagData = new TagData(cursor);
@ -167,7 +165,7 @@ public class TagViewFragment extends TaskListFragment {
} }
protected void reloadTagData() { protected void reloadTagData() {
tagData = tagDataService.fetchById(tagData.getId(), TagData.PROPERTIES); // refetch tagData = tagDataDao.fetch(tagData.getId(), TagData.PROPERTIES); // refetch
if (tagData == null) { if (tagData == null) {
// This can happen if a tag has been deleted as part of a sync // This can happen if a tag has been deleted as part of a sync
taskListMetadata = null; taskListMetadata = null;

@ -21,11 +21,11 @@ import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -58,7 +58,7 @@ public class TasksXmlExporter {
// --- implementation // --- implementation
private final TagDataService tagDataService; private final TagDataDao tagDataDao;
private final MetadataService metadataService; private final MetadataService metadataService;
private final TaskService taskService; private final TaskService taskService;
private final Preferences preferences; private final Preferences preferences;
@ -85,8 +85,8 @@ public class TasksXmlExporter {
} }
@Inject @Inject
public TasksXmlExporter(TagDataService tagDataService, MetadataService metadataService, TaskService taskService, Preferences preferences) { public TasksXmlExporter(TagDataDao tagDataDao, MetadataService metadataService, TaskService taskService, Preferences preferences) {
this.tagDataService = tagDataService; this.tagDataDao = tagDataDao;
this.metadataService = metadataService; this.metadataService = metadataService;
this.taskService = taskService; this.taskService = taskService;
this.preferences = preferences; this.preferences = preferences;
@ -176,7 +176,7 @@ public class TasksXmlExporter {
private void serializeTagDatas() throws IOException { private void serializeTagDatas() throws IOException {
TodorooCursor<TagData> cursor; TodorooCursor<TagData> cursor;
cursor = tagDataService.query(Query.select( cursor = tagDataDao.query(Query.select(
TagData.PROPERTIES).orderBy(Order.asc(TagData.ID))); TagData.PROPERTIES).orderBy(Order.asc(TagData.ID)));
try { try {

@ -24,11 +24,11 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.tags.TaskToTagMetadata; import com.todoroo.astrid.tags.TaskToTagMetadata;
@ -48,7 +48,7 @@ public class TasksXmlImporter {
private static final Logger log = LoggerFactory.getLogger(TasksXmlImporter.class); private static final Logger log = LoggerFactory.getLogger(TasksXmlImporter.class);
private final TagDataService tagDataService; private final TagDataDao tagDataDao;
private final MetadataService metadataService; private final MetadataService metadataService;
private final TaskService taskService; private final TaskService taskService;
@ -72,8 +72,8 @@ public class TasksXmlImporter {
} }
@Inject @Inject
public TasksXmlImporter(TagDataService tagDataService, MetadataService metadataService, TaskService taskService) { public TasksXmlImporter(TagDataDao tagDataDao, MetadataService metadataService, TaskService taskService) {
this.tagDataService = tagDataService; this.tagDataDao = tagDataDao;
this.metadataService = metadataService; this.metadataService = metadataService;
this.taskService = taskService; this.taskService = taskService;
} }
@ -286,7 +286,7 @@ public class TasksXmlImporter {
String uuid = metadata.getValue(Metadata.VALUE2); String uuid = metadata.getValue(Metadata.VALUE2);
long deletionDate = metadata.getDeletionDate(); long deletionDate = metadata.getDeletionDate();
// UUID is uniquely for every TagData, so we don't need to test the name // UUID is uniquely for every TagData, so we don't need to test the name
TodorooCursor<TagData> cursor = tagDataService.query(Query.select(TagData.ID). TodorooCursor<TagData> cursor = tagDataDao.query(Query.select(TagData.ID).
where(TagData.UUID.eq(uuid))); where(TagData.UUID.eq(uuid)));
try { try {
//If you sync with Google tasks it adds some Google task metadata. //If you sync with Google tasks it adds some Google task metadata.
@ -296,7 +296,7 @@ public class TasksXmlImporter {
tagdata.setId(TagData.NO_ID); tagdata.setId(TagData.NO_ID);
tagdata.setUuid(uuid); tagdata.setUuid(uuid);
tagdata.setName(name); tagdata.setName(name);
tagDataService.save(tagdata); tagDataDao.persist(tagdata);
} }
} finally { } finally {
cursor.close(); cursor.close();
@ -390,7 +390,7 @@ public class TasksXmlImporter {
private void parseTagdata() { private void parseTagdata() {
tagdata.clear(); tagdata.clear();
deserializeModel(tagdata, TagData.PROPERTIES); deserializeModel(tagdata, TagData.PROPERTIES);
tagDataService.save(tagdata); tagDataDao.persist(tagdata);
} }
} }
} }

@ -33,5 +33,9 @@ public class TagDataDao extends RemoteModelDao<TagData> {
public TagData fetch(String uuid, Property<?>... properties) { public TagData fetch(String uuid, Property<?>... properties) {
return getFirst(Query.select(properties).where(RemoteModel.UUID_PROPERTY.eq(uuid))); return getFirst(Query.select(properties).where(RemoteModel.UUID_PROPERTY.eq(uuid)));
} }
public TagData getTagByName(String name, Property<?>... properties) {
return getFirst(Query.select(properties).where(TagData.NAME.eqCaseInsensitive(name)));
}
} }

@ -10,8 +10,8 @@ import android.widget.TextView;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
@ -33,7 +33,7 @@ public class CalendarAlarmListCreator extends InjectingActivity {
public static final String TOKEN_LIST_NAME = "listName"; //$NON-NLS-1$ public static final String TOKEN_LIST_NAME = "listName"; //$NON-NLS-1$
@Inject TagDataService tagDataService; @Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences; @Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver; @Inject ResourceResolver resourceResolver;
@ -52,7 +52,7 @@ public class CalendarAlarmListCreator extends InjectingActivity {
public void onClick(View v) { public void onClick(View v) {
TagData tagData = new TagData(); TagData tagData = new TagData();
tagData.setName(tagName); tagData.setName(tagName);
tagDataService.save(tagData); tagDataDao.persist(tagData);
dismissWithAnimation(); dismissWithAnimation();
} }
}; };

@ -18,9 +18,9 @@ import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import org.tasks.R; import org.tasks.R;
@ -49,7 +49,7 @@ public class CalendarReminderActivity extends InjectingActivity {
private static final int IGNORE_PROMPT_COUNT = 3; private static final int IGNORE_PROMPT_COUNT = 3;
@Inject StartupService startupService; @Inject StartupService startupService;
@Inject TagDataService tagDataService; @Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences; @Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver; @Inject ResourceResolver resourceResolver;
@ -180,7 +180,7 @@ public class CalendarReminderActivity extends InjectingActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
String listName = getString(R.string.CRA_default_list_name, eventName); String listName = getString(R.string.CRA_default_list_name, eventName);
TagData existing = tagDataService.getTagByName(listName, TagData.PROPERTIES); TagData existing = tagDataDao.getTagByName(listName, TagData.PROPERTIES);
if (existing != null) { if (existing != null) {
listExists(existing); listExists(existing);
} else { } else {

@ -1,72 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.service;
import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData;
import javax.inject.Inject;
import javax.inject.Singleton;
/**
* Service layer for {@link TagData}-centered activities.
*
* @author Tim Su <tim@todoroo.com>
*
*/
@Singleton
public class TagDataService {
private final TagDataDao tagDataDao;
@Inject
public TagDataService(TagDataDao tagDataDao) {
this.tagDataDao = tagDataDao;
}
// --- service layer
/**
* Query underlying database
*/
public TodorooCursor<TagData> query(Query query) {
return tagDataDao.query(query);
}
/**
* Save a single piece of metadata
*/
public void save(TagData tagData) {
tagDataDao.persist(tagData);
}
/**
* @return item, or null if it doesn't exist
*/
public TagData fetchById(long id, Property<?>... properties) {
return tagDataDao.fetch(id, properties);
}
/**
* Find a tag by name
* @return null if doesn't exist
*/
public TagData getTagByName(String name, Property<?>... properties) {
TodorooCursor<TagData> cursor = tagDataDao.query(Query.select(properties).where(TagData.NAME.eqCaseInsensitive(name)));
try {
if(cursor.getCount() == 0) {
return null;
}
cursor.moveToFirst();
return new TagData(cursor);
} finally {
cursor.close();
}
}
}

@ -11,13 +11,13 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.CoreFilterExposer; import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.RemoteModel; import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata; import com.todoroo.astrid.data.TaskListMetadata;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node; import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node;
@ -62,10 +62,10 @@ public class SubtasksHelper {
return false; return false;
} }
public static String applySubtasksToWidgetFilter(Preferences preferences, TaskService taskService, TagDataService tagDataService, TaskListMetadataDao tlmd, Filter filter, String query, String tagName, int limit) { public static String applySubtasksToWidgetFilter(Preferences preferences, TaskService taskService, TagDataDao tagDataDao, TaskListMetadataDao tlmd, Filter filter, String query, String tagName, int limit) {
if (SubtasksHelper.shouldUseSubtasksFragmentForFilter(preferences, filter)) { if (SubtasksHelper.shouldUseSubtasksFragmentForFilter(preferences, filter)) {
// care for manual ordering // care for manual ordering
TagData tagData = tagDataService.getTagByName(tagName, TagData.UUID, TagData.TAG_ORDERING); TagData tagData = tagDataDao.getTagByName(tagName, TagData.UUID, TagData.TAG_ORDERING);
TaskListMetadata tlm = null; TaskListMetadata tlm = null;
if (tagData != null) { if (tagData != null) {
tlm = tlmd.fetchByTagId(tagData.getUuid(), TaskListMetadata.TASK_IDS); tlm = tlmd.fetchByTagId(tagData.getUuid(), TaskListMetadata.TASK_IDS);

@ -27,7 +27,6 @@ import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService;
import org.tasks.R; import org.tasks.R;
@ -56,14 +55,12 @@ public final class TagService {
private final MetadataDao metadataDao; private final MetadataDao metadataDao;
private final MetadataService metadataService; private final MetadataService metadataService;
private final TagDataService tagDataService;
private final TagDataDao tagDataDao; private final TagDataDao tagDataDao;
@Inject @Inject
public TagService(MetadataDao metadataDao, MetadataService metadataService, TagDataService tagDataService, TagDataDao tagDataDao) { public TagService(MetadataDao metadataDao, MetadataService metadataService, TagDataDao tagDataDao) {
this.metadataDao = metadataDao; this.metadataDao = metadataDao;
this.metadataService = metadataService; this.metadataService = metadataService;
this.tagDataService = tagDataService;
this.tagDataDao = tagDataDao; this.tagDataDao = tagDataDao;
} }
@ -152,7 +149,7 @@ public final class TagService {
} }
private Tag tagFromUUID(String uuid) { private Tag tagFromUUID(String uuid) {
TodorooCursor<TagData> tagData = tagDataService.query(Query.select(TagData.PROPERTIES).where(TagData.UUID.eq(uuid))); TodorooCursor<TagData> tagData = tagDataDao.query(Query.select(TagData.PROPERTIES).where(TagData.UUID.eq(uuid)));
try { try {
if (tagData.getCount() > 0) { if (tagData.getCount() > 0) {
tagData.moveToFirst(); tagData.moveToFirst();
@ -167,14 +164,14 @@ public final class TagService {
} }
public void createLink(Task task, String tagName) { public void createLink(Task task, String tagName) {
TodorooCursor<TagData> existingTag = tagDataService.query(Query.select(TagData.NAME, TagData.UUID) TodorooCursor<TagData> existingTag = tagDataDao.query(Query.select(TagData.NAME, TagData.UUID)
.where(TagData.NAME.eqCaseInsensitive(tagName))); .where(TagData.NAME.eqCaseInsensitive(tagName)));
try { try {
TagData tagData; TagData tagData;
if (existingTag.getCount() == 0) { if (existingTag.getCount() == 0) {
tagData = new TagData(); tagData = new TagData();
tagData.setName(tagName); tagData.setName(tagName);
tagDataService.save(tagData); tagDataDao.persist(tagData);
} else { } else {
existingTag.moveToFirst(); existingTag.moveToFirst();
tagData = new TagData(existingTag); tagData = new TagData(existingTag);
@ -228,7 +225,7 @@ public final class TagService {
*/ */
public ArrayList<Tag> getTagList() { public ArrayList<Tag> getTagList() {
ArrayList<Tag> tagList = new ArrayList<>(); ArrayList<Tag> tagList = new ArrayList<>();
TodorooCursor<TagData> cursor = tagDataService.query(Query.select(TagData.PROPERTIES).where(Criterion.and( TodorooCursor<TagData> cursor = tagDataDao.query(Query.select(TagData.PROPERTIES).where(Criterion.and(
TagData.DELETION_DATE.eq(0), TagData.DELETION_DATE.eq(0),
TagData.NAME.isNotNull())).orderBy(Order.asc(Functions.upper(TagData.NAME)))); TagData.NAME.isNotNull())).orderBy(Order.asc(Functions.upper(TagData.NAME))));
try { try {
@ -267,7 +264,7 @@ public final class TagService {
if (tagData == null) { if (tagData == null) {
tagData = new TagData(); tagData = new TagData();
tagData.setName(tag); tagData.setName(tag);
tagDataService.save(tagData); tagDataDao.persist(tagData);
} }
if (existingLinks.contains(tagData.getUUID())) { if (existingLinks.contains(tagData.getUUID())) {
existingLinks.remove(tagData.getUUID()); existingLinks.remove(tagData.getUUID());
@ -294,7 +291,7 @@ public final class TagService {
Metadata tagMatch = new Metadata(tagMetadata); Metadata tagMatch = new Metadata(tagMetadata);
tagWithCase = tagMatch.getValue(TaskToTagMetadata.TAG_NAME); tagWithCase = tagMatch.getValue(TaskToTagMetadata.TAG_NAME);
} else { } else {
TodorooCursor<TagData> tagData = tagDataService.query(Query.select(TagData.NAME).where(TagData.NAME.eqCaseInsensitive(tag))); TodorooCursor<TagData> tagData = tagDataDao.query(Query.select(TagData.NAME).where(TagData.NAME.eqCaseInsensitive(tag)));
try { try {
if (tagData.getCount() > 0) { if (tagData.getCount() > 0) {
tagData.moveToFirst(); tagData.moveToFirst();
@ -311,7 +308,7 @@ public final class TagService {
} }
public TagData getTagDataWithCase(String tag, Property<?>... properties) { public TagData getTagDataWithCase(String tag, Property<?>... properties) {
TodorooCursor<TagData> tagData = tagDataService.query(Query.select(properties).where(TagData.NAME.eqCaseInsensitive(tag))); TodorooCursor<TagData> tagData = tagDataDao.query(Query.select(properties).where(TagData.NAME.eqCaseInsensitive(tag)));
try { try {
if (tagData.getCount() > 0) { if (tagData.getCount() > 0) {
tagData.moveToFirst(); tagData.moveToFirst();

@ -17,9 +17,9 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.SubtasksHelper; import com.todoroo.astrid.subtasks.SubtasksHelper;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
@ -44,7 +44,7 @@ public class WidgetUpdateService extends InjectingService {
@Inject Database database; @Inject Database database;
@Inject TaskService taskService; @Inject TaskService taskService;
@Inject TaskListMetadataDao taskListMetadataDao; @Inject TaskListMetadataDao taskListMetadataDao;
@Inject TagDataService tagDataService; @Inject TagDataDao tagDataDao;
@Inject WidgetHelper widgetHelper; @Inject WidgetHelper widgetHelper;
@Inject Preferences preferences; @Inject Preferences preferences;
@ -114,7 +114,7 @@ public class WidgetUpdateService extends InjectingService {
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks; filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks;
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId); String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);
query = SubtasksHelper.applySubtasksToWidgetFilter(preferences, taskService, tagDataService, taskListMetadataDao, filter, query, tagName, numberOfTasks); query = SubtasksHelper.applySubtasksToWidgetFilter(preferences, taskService, tagDataDao, taskListMetadataDao, filter, query, tagName, numberOfTasks);
database.openForReading(); database.openForReading();
cursor = taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE); cursor = taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE);

@ -16,7 +16,6 @@ import com.todoroo.astrid.gtasks.GtasksTaskListUpdater;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService; import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.service.SyncV2Service;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.UpgradeService; import com.todoroo.astrid.service.UpgradeService;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
@ -42,7 +41,6 @@ public class Tasks extends InjectingApplication {
@Inject TaskListMetadataDao taskListMetadataDao; @Inject TaskListMetadataDao taskListMetadataDao;
@Inject TaskService taskService; @Inject TaskService taskService;
@Inject MetadataService metadataService; @Inject MetadataService metadataService;
@Inject TagDataService tagDataService;
@Inject UpgradeService upgradeService; @Inject UpgradeService upgradeService;
@Inject SyncV2Service syncV2Service; @Inject SyncV2Service syncV2Service;
@Inject GtasksPreferenceService gtasksPreferenceService; @Inject GtasksPreferenceService gtasksPreferenceService;

@ -20,9 +20,9 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.SubtasksHelper; import com.todoroo.astrid.subtasks.SubtasksHelper;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
@ -42,7 +42,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
private final Database database; private final Database database;
private final TaskService taskService; private final TaskService taskService;
private final TaskListMetadataDao taskListMetadataDao; private final TaskListMetadataDao taskListMetadataDao;
private final TagDataService tagDataService; private final TagDataDao tagDataDao;
private final Preferences preferences; private final Preferences preferences;
private final Context context; private final Context context;
private final Filter filter; private final Filter filter;
@ -60,7 +60,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
Database database, Database database,
TaskService taskService, TaskService taskService,
TaskListMetadataDao taskListMetadataDao, TaskListMetadataDao taskListMetadataDao,
TagDataService tagDataService) { TagDataDao tagDataDao) {
this.preferences = preferences; this.preferences = preferences;
this.context = context; this.context = context;
this.filter = filter; this.filter = filter;
@ -69,7 +69,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
this.database = database; this.database = database;
this.taskService = taskService; this.taskService = taskService;
this.taskListMetadataDao = taskListMetadataDao; this.taskListMetadataDao = taskListMetadataDao;
this.tagDataService = tagDataService; this.tagDataDao = tagDataDao;
} }
@Override @Override
@ -206,6 +206,6 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId); String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);
return SubtasksHelper.applySubtasksToWidgetFilter(preferences, taskService, tagDataService, taskListMetadataDao, filter, query, tagName, 0); return SubtasksHelper.applySubtasksToWidgetFilter(preferences, taskService, tagDataDao, taskListMetadataDao, filter, query, tagName, 0);
} }
} }

@ -6,8 +6,8 @@ import android.os.Bundle;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao; import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import org.tasks.injection.InjectingRemoteViewsService; import org.tasks.injection.InjectingRemoteViewsService;
@ -23,7 +23,7 @@ public class ScrollableWidgetUpdateService extends InjectingRemoteViewsService {
@Inject Database database; @Inject Database database;
@Inject TaskService taskService; @Inject TaskService taskService;
@Inject TaskListMetadataDao taskListMetadataDao; @Inject TaskListMetadataDao taskListMetadataDao;
@Inject TagDataService tagDataService; @Inject TagDataDao tagDataDao;
@Inject Preferences preferences; @Inject Preferences preferences;
@Override @Override
@ -42,6 +42,6 @@ public class ScrollableWidgetUpdateService extends InjectingRemoteViewsService {
int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID); int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
boolean isDarkTheme = extras.getBoolean(IS_DARK_THEME); boolean isDarkTheme = extras.getBoolean(IS_DARK_THEME);
return new ScrollableViewsFactory(preferences, this, filter, widgetId, isDarkTheme, return new ScrollableViewsFactory(preferences, this, filter, widgetId, isDarkTheme,
database, taskService, taskListMetadataDao, tagDataService); database, taskService, taskListMetadataDao, tagDataDao);
} }
} }

@ -22,8 +22,8 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.api.PermaSql;
import com.todoroo.astrid.core.CoreFilterExposer; import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.widget.TasksWidget; import com.todoroo.astrid.widget.TasksWidget;
@ -69,12 +69,12 @@ public class WidgetHelper {
context.sendBroadcast(intent); context.sendBroadcast(intent);
} }
private final TagDataService tagDataService; private final TagDataDao tagDataDao;
private final Preferences preferences; private final Preferences preferences;
@Inject @Inject
public WidgetHelper(TagDataService tagDataService, Preferences preferences) { public WidgetHelper(TagDataDao tagDataDao, Preferences preferences) {
this.tagDataService = tagDataService; this.tagDataDao = tagDataDao;
this.preferences = preferences; this.preferences = preferences;
} }
@ -211,7 +211,7 @@ public class WidgetHelper {
long id = preferences.getLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, 0); long id = preferences.getLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, 0);
TagData tagData; TagData tagData;
if (id > 0) { if (id > 0) {
tagData = tagDataService.fetchById(id, TagData.ID, TagData.NAME, TagData.UUID); tagData = tagDataDao.fetch(id, TagData.ID, TagData.NAME, TagData.UUID);
if (tagData != null && !tagData.getName().equals(filter.title)) { // Tag has been renamed; rebuild filter if (tagData != null && !tagData.getName().equals(filter.title)) { // Tag has been renamed; rebuild filter
filter = TagFilterExposer.filterFromTagData(context, tagData); filter = TagFilterExposer.filterFromTagData(context, tagData);
preferences.setString(WidgetConfigActivity.PREF_SQL + widgetId, filter.getSqlQuery()); preferences.setString(WidgetConfigActivity.PREF_SQL + widgetId, filter.getSqlQuery());
@ -231,7 +231,7 @@ public class WidgetHelper {
} }
} }
} else { } else {
tagData = tagDataService.getTagByName(filter.title, TagData.ID); tagData = tagDataDao.getTagByName(filter.title, TagData.ID);
if (tagData != null) { if (tagData != null) {
preferences.setLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, tagData.getId()); preferences.setLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, tagData.getId());
} }

Loading…
Cancel
Save