Remove TagDataService, fix tests

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

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

@ -256,7 +256,7 @@ public class GtasksTaskMovingTest extends DatabaseTestCase {
lists.setItems(items);
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.astrid.actfm.ActFmCameraModule.CameraResultCallback;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.tags.TagService;
@ -59,7 +59,7 @@ public class TagSettingsActivity extends InjectingActionBarActivity {
private TagData tagData;
@Inject TagService tagService;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver;
@ -174,7 +174,7 @@ public class TagSettingsActivity extends InjectingActionBarActivity {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(tagName.getWindowToken(), 0);
tagDataService.save(tagData);
tagDataDao.persist(tagData);
if (isNewTag) {
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.data.RemoteModel;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.subtasks.SubtasksTagListFragment;
import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.utility.Flags;
@ -52,7 +51,6 @@ public class TagViewFragment extends TaskListFragment {
protected TagData tagData;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
protected View taskListView;
@ -119,9 +117,9 @@ public class TagViewFragment extends TaskListFragment {
TodorooCursor<TagData> cursor;
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 {
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 {
@ -129,7 +127,7 @@ public class TagViewFragment extends TaskListFragment {
tagData = new TagData();
tagData.setName(tag);
tagData.setUUID(uuid);
tagDataService.save(tagData);
tagDataDao.persist(tagData);
} else {
cursor.moveToFirst();
tagData = new TagData(cursor);
@ -167,7 +165,7 @@ public class TagViewFragment extends TaskListFragment {
}
protected void reloadTagData() {
tagData = tagDataService.fetchById(tagData.getId(), TagData.PROPERTIES); // refetch
tagData = tagDataDao.fetch(tagData.getId(), TagData.PROPERTIES); // refetch
if (tagData == null) {
// This can happen if a tag has been deleted as part of a sync
taskListMetadata = null;

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

@ -24,11 +24,11 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.tags.TaskToTagMetadata;
@ -48,7 +48,7 @@ public class TasksXmlImporter {
private static final Logger log = LoggerFactory.getLogger(TasksXmlImporter.class);
private final TagDataService tagDataService;
private final TagDataDao tagDataDao;
private final MetadataService metadataService;
private final TaskService taskService;
@ -72,8 +72,8 @@ public class TasksXmlImporter {
}
@Inject
public TasksXmlImporter(TagDataService tagDataService, MetadataService metadataService, TaskService taskService) {
this.tagDataService = tagDataService;
public TasksXmlImporter(TagDataDao tagDataDao, MetadataService metadataService, TaskService taskService) {
this.tagDataDao = tagDataDao;
this.metadataService = metadataService;
this.taskService = taskService;
}
@ -286,7 +286,7 @@ public class TasksXmlImporter {
String uuid = metadata.getValue(Metadata.VALUE2);
long deletionDate = metadata.getDeletionDate();
// 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)));
try {
//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.setUuid(uuid);
tagdata.setName(name);
tagDataService.save(tagdata);
tagDataDao.persist(tagdata);
}
} finally {
cursor.close();
@ -390,7 +390,7 @@ public class TasksXmlImporter {
private void parseTagdata() {
tagdata.clear();
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) {
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.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import org.json.JSONArray;
import org.json.JSONException;
@ -33,7 +33,7 @@ public class CalendarAlarmListCreator extends InjectingActivity {
public static final String TOKEN_LIST_NAME = "listName"; //$NON-NLS-1$
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver;
@ -52,7 +52,7 @@ public class CalendarAlarmListCreator extends InjectingActivity {
public void onClick(View v) {
TagData tagData = new TagData();
tagData.setName(tagName);
tagDataService.save(tagData);
tagDataDao.persist(tagData);
dismissWithAnimation();
}
};

@ -18,9 +18,9 @@ import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer;
import org.tasks.R;
@ -49,7 +49,7 @@ public class CalendarReminderActivity extends InjectingActivity {
private static final int IGNORE_PROMPT_COUNT = 3;
@Inject StartupService startupService;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
@Inject ActivityPreferences preferences;
@Inject ResourceResolver resourceResolver;
@ -180,7 +180,7 @@ public class CalendarReminderActivity extends InjectingActivity {
@Override
public void onClick(View v) {
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) {
listExists(existing);
} 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.core.CoreFilterExposer;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskListMetadata;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node;
@ -62,10 +62,10 @@ public class SubtasksHelper {
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)) {
// 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;
if (tagData != null) {
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.Task;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService;
import org.tasks.R;
@ -56,14 +55,12 @@ public final class TagService {
private final MetadataDao metadataDao;
private final MetadataService metadataService;
private final TagDataService tagDataService;
private final TagDataDao tagDataDao;
@Inject
public TagService(MetadataDao metadataDao, MetadataService metadataService, TagDataService tagDataService, TagDataDao tagDataDao) {
public TagService(MetadataDao metadataDao, MetadataService metadataService, TagDataDao tagDataDao) {
this.metadataDao = metadataDao;
this.metadataService = metadataService;
this.tagDataService = tagDataService;
this.tagDataDao = tagDataDao;
}
@ -152,7 +149,7 @@ public final class TagService {
}
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 {
if (tagData.getCount() > 0) {
tagData.moveToFirst();
@ -167,14 +164,14 @@ public final class TagService {
}
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)));
try {
TagData tagData;
if (existingTag.getCount() == 0) {
tagData = new TagData();
tagData.setName(tagName);
tagDataService.save(tagData);
tagDataDao.persist(tagData);
} else {
existingTag.moveToFirst();
tagData = new TagData(existingTag);
@ -228,7 +225,7 @@ public final class TagService {
*/
public ArrayList<Tag> getTagList() {
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.NAME.isNotNull())).orderBy(Order.asc(Functions.upper(TagData.NAME))));
try {
@ -267,7 +264,7 @@ public final class TagService {
if (tagData == null) {
tagData = new TagData();
tagData.setName(tag);
tagDataService.save(tagData);
tagDataDao.persist(tagData);
}
if (existingLinks.contains(tagData.getUUID())) {
existingLinks.remove(tagData.getUUID());
@ -294,7 +291,7 @@ public final class TagService {
Metadata tagMatch = new Metadata(tagMetadata);
tagWithCase = tagMatch.getValue(TaskToTagMetadata.TAG_NAME);
} 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 {
if (tagData.getCount() > 0) {
tagData.moveToFirst();
@ -311,7 +308,7 @@ public final class TagService {
}
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 {
if (tagData.getCount() > 0) {
tagData.moveToFirst();

@ -17,9 +17,9 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.SubtasksHelper;
import com.todoroo.astrid.utility.Constants;
@ -44,7 +44,7 @@ public class WidgetUpdateService extends InjectingService {
@Inject Database database;
@Inject TaskService taskService;
@Inject TaskListMetadataDao taskListMetadataDao;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
@Inject WidgetHelper widgetHelper;
@Inject Preferences preferences;
@ -114,7 +114,7 @@ public class WidgetUpdateService extends InjectingService {
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks;
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();
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.service.MetadataService;
import com.todoroo.astrid.service.SyncV2Service;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.UpgradeService;
import com.todoroo.astrid.tags.TagService;
@ -42,7 +41,6 @@ public class Tasks extends InjectingApplication {
@Inject TaskListMetadataDao taskListMetadataDao;
@Inject TaskService taskService;
@Inject MetadataService metadataService;
@Inject TagDataService tagDataService;
@Inject UpgradeService upgradeService;
@Inject SyncV2Service syncV2Service;
@Inject GtasksPreferenceService gtasksPreferenceService;

@ -20,9 +20,9 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.SubtasksHelper;
import com.todoroo.astrid.utility.Constants;
@ -42,7 +42,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
private final Database database;
private final TaskService taskService;
private final TaskListMetadataDao taskListMetadataDao;
private final TagDataService tagDataService;
private final TagDataDao tagDataDao;
private final Preferences preferences;
private final Context context;
private final Filter filter;
@ -60,7 +60,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
Database database,
TaskService taskService,
TaskListMetadataDao taskListMetadataDao,
TagDataService tagDataService) {
TagDataDao tagDataDao) {
this.preferences = preferences;
this.context = context;
this.filter = filter;
@ -69,7 +69,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
this.database = database;
this.taskService = taskService;
this.taskListMetadataDao = taskListMetadataDao;
this.tagDataService = tagDataService;
this.tagDataDao = tagDataDao;
}
@Override
@ -206,6 +206,6 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
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.dao.Database;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TaskListMetadataDao;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import org.tasks.injection.InjectingRemoteViewsService;
@ -23,7 +23,7 @@ public class ScrollableWidgetUpdateService extends InjectingRemoteViewsService {
@Inject Database database;
@Inject TaskService taskService;
@Inject TaskListMetadataDao taskListMetadataDao;
@Inject TagDataService tagDataService;
@Inject TagDataDao tagDataDao;
@Inject Preferences preferences;
@Override
@ -42,6 +42,6 @@ public class ScrollableWidgetUpdateService extends InjectingRemoteViewsService {
int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
boolean isDarkTheme = extras.getBoolean(IS_DARK_THEME);
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.PermaSql;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.widget.TasksWidget;
@ -69,12 +69,12 @@ public class WidgetHelper {
context.sendBroadcast(intent);
}
private final TagDataService tagDataService;
private final TagDataDao tagDataDao;
private final Preferences preferences;
@Inject
public WidgetHelper(TagDataService tagDataService, Preferences preferences) {
this.tagDataService = tagDataService;
public WidgetHelper(TagDataDao tagDataDao, Preferences preferences) {
this.tagDataDao = tagDataDao;
this.preferences = preferences;
}
@ -211,7 +211,7 @@ public class WidgetHelper {
long id = preferences.getLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, 0);
TagData tagData;
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
filter = TagFilterExposer.filterFromTagData(context, tagData);
preferences.setString(WidgetConfigActivity.PREF_SQL + widgetId, filter.getSqlQuery());
@ -231,7 +231,7 @@ public class WidgetHelper {
}
}
} else {
tagData = tagDataService.getTagByName(filter.title, TagData.ID);
tagData = tagDataDao.getTagByName(filter.title, TagData.ID);
if (tagData != null) {
preferences.setLong(WidgetConfigActivity.PREF_TAG_ID + widgetId, tagData.getId());
}

Loading…
Cancel
Save