diff --git a/app/src/androidTest/java/org/tasks/makers/GtaskListMaker.java b/app/src/androidTest/java/org/tasks/makers/GtaskListMaker.java index af3de448e..96836dd5d 100644 --- a/app/src/androidTest/java/org/tasks/makers/GtaskListMaker.java +++ b/app/src/androidTest/java/org/tasks/makers/GtaskListMaker.java @@ -16,6 +16,7 @@ public class GtaskListMaker { public static final Property REMOTE_ID = newProperty(); public static final Property LAST_SYNC = newProperty(); public static final Property NAME = newProperty(); + public static final Property COLOR = newProperty(); public static GoogleTaskList newGtaskList(PropertyValue... properties) { return make(instantiator, properties); @@ -28,5 +29,6 @@ public class GtaskListMaker { setTitle(lookup.valueOf(NAME, "Default")); setRemoteOrder(lookup.valueOf(ORDER, 0)); setLastSync(lookup.valueOf(LAST_SYNC, 0L)); + setColor(lookup.valueOf(COLOR, -1)); }}; } diff --git a/app/src/googleplay/java/com/todoroo/astrid/gtasks/GtasksSubtaskListFragment.java b/app/src/googleplay/java/com/todoroo/astrid/gtasks/GtasksSubtaskListFragment.java index 741e6d787..267cddd48 100644 --- a/app/src/googleplay/java/com/todoroo/astrid/gtasks/GtasksSubtaskListFragment.java +++ b/app/src/googleplay/java/com/todoroo/astrid/gtasks/GtasksSubtaskListFragment.java @@ -79,7 +79,7 @@ public class GtasksSubtaskListFragment extends GtasksListFragment { } @Override - protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { + protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { return helper.createTaskAdapter(theme.wrap(context), cursor); } diff --git a/app/src/googleplay/java/com/todoroo/astrid/gtasks/OrderedMetadataListFragmentHelper.java b/app/src/googleplay/java/com/todoroo/astrid/gtasks/OrderedMetadataListFragmentHelper.java index c7ee385f9..e9a76facd 100644 --- a/app/src/googleplay/java/com/todoroo/astrid/gtasks/OrderedMetadataListFragmentHelper.java +++ b/app/src/googleplay/java/com/todoroo/astrid/gtasks/OrderedMetadataListFragmentHelper.java @@ -56,7 +56,7 @@ class OrderedMetadataListFragmentHelper { updater.initialize(filter); } - TaskAdapter createTaskAdapter(Context context, TodorooCursor cursor) { + TaskAdapter createTaskAdapter(Context context, TodorooCursor cursor) { taskAdapter = new DraggableTaskAdapter(context, cursor); taskAdapter.setOnCompletedTaskListener(this::setCompletedForItemAndSubtasks); diff --git a/app/src/main/java/com/todoroo/andlib/data/AbstractModel.java b/app/src/main/java/com/todoroo/andlib/data/AbstractModel.java index 2e541f4ee..57edf2765 100644 --- a/app/src/main/java/com/todoroo/andlib/data/AbstractModel.java +++ b/app/src/main/java/com/todoroo/andlib/data/AbstractModel.java @@ -80,7 +80,7 @@ public abstract class AbstractModel implements Parcelable, Cloneable { protected AbstractModel() { } - protected AbstractModel(TodorooCursor cursor) { + protected AbstractModel(TodorooCursor cursor) { readPropertiesFromCursor(cursor); } @@ -187,7 +187,7 @@ public abstract class AbstractModel implements Parcelable, Cloneable { /** * Reads all properties from the supplied cursor and store */ - void readPropertiesFromCursor(TodorooCursor cursor) { + void readPropertiesFromCursor(TodorooCursor cursor) { if (values == null) { values = new ContentValues(); } diff --git a/app/src/main/java/com/todoroo/andlib/data/DatabaseDao.java b/app/src/main/java/com/todoroo/andlib/data/DatabaseDao.java index 6c5ea426c..28b93a457 100644 --- a/app/src/main/java/com/todoroo/andlib/data/DatabaseDao.java +++ b/app/src/main/java/com/todoroo/andlib/data/DatabaseDao.java @@ -11,6 +11,7 @@ import android.database.Cursor; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Query; import com.todoroo.astrid.dao.Database; +import com.todoroo.astrid.data.Task; import org.tasks.BuildConfig; @@ -27,49 +28,34 @@ import timber.log.Timber; * @author Tim Su * */ -public class DatabaseDao { +public class DatabaseDao { - private final Class modelClass; - private final Table table; + private final Table table = Task.TABLE; private final Database database; - public DatabaseDao(Database database, Class modelClass) { - this.modelClass = modelClass; + public DatabaseDao(Database database) { this.database = database; - table = database.getTable(this.modelClass); - try { - modelClass.getConstructor(); // check for default constructor - } catch (NoSuchMethodException e) { - throw new RuntimeException(e); - } - } - - /** Gets table associated with this DAO */ - public Table getTable() { - return table; } - // --- dao methods - - public List toList(Query query) { + public List toList(Query query) { return query(query).toList(); } - private TYPE getFirst(Query query) { + private Task getFirst(Query query) { return query(query).first(); } /** * Construct a query with SQL DSL objects */ - public TodorooCursor query(Query query) { + public TodorooCursor query(Query query) { query.from(table); String queryString = query.toString(); if (BuildConfig.DEBUG) { Timber.v(queryString); } Cursor cursor = database.rawQuery(queryString); - return new TodorooCursor<>(modelClass, cursor, query.getFields()); + return new TodorooCursor(cursor, query.getFields()); } /** @@ -80,7 +66,7 @@ public class DatabaseDao { * id of item * @return null if no item found */ - public TYPE fetch(long id, Property... properties) { + public Task fetch(long id, Property... properties) { return getFirst(Query.select(properties).where(AbstractModel.ID_PROPERTY.eq(id))); } @@ -117,7 +103,7 @@ public class DatabaseDao { * @param template set fields on this object in order to set them in the db. * @return # of updated items */ - public int update(Criterion where, TYPE template) { + public int update(Criterion where, Task template) { return database.update(table.name, template.getSetValues(), where.toString()); } @@ -128,7 +114,7 @@ public class DatabaseDao { * * @return true on success. */ - public boolean persist(TYPE item) { + public boolean persist(Task item) { if (item.getId() == AbstractModel.NO_ID) { return createNew(item); } else { @@ -147,7 +133,7 @@ public class DatabaseDao { boolean makeChange(); } - private boolean insertOrUpdateAndRecordChanges(TYPE item, DatabaseChangeOp op) { + private boolean insertOrUpdateAndRecordChanges(Task item, DatabaseChangeOp op) { final AtomicBoolean result = new AtomicBoolean(false); synchronized(database) { result.set(op.makeChange()); @@ -167,7 +153,7 @@ public class DatabaseDao { * item model * @return returns true on success. */ - public boolean createNew(final TYPE item) { + public boolean createNew(final Task item) { item.clearValue(AbstractModel.ID_PROPERTY); DatabaseChangeOp insert = new DatabaseChangeOp() { @@ -195,7 +181,7 @@ public class DatabaseDao { * item model * @return returns true on success. */ - public boolean saveExisting(final TYPE item) { + public boolean saveExisting(final Task item) { final ContentValues values = item.getSetValues(); if(values == null || values.size() == 0) // nothing changed { diff --git a/app/src/main/java/com/todoroo/andlib/data/Table.java b/app/src/main/java/com/todoroo/andlib/data/Table.java index 5274b077d..be658bbc1 100644 --- a/app/src/main/java/com/todoroo/andlib/data/Table.java +++ b/app/src/main/java/com/todoroo/andlib/data/Table.java @@ -16,33 +16,19 @@ import com.todoroo.andlib.sql.SqlTable; */ public final class Table extends SqlTable { public final String name; - public final Class modelClass; + private final Class modelClass; public Table(String name, Class modelClass) { this(name, modelClass, null); } - public Table(String name, Class modelClass, String alias) { + private Table(String name, Class modelClass, String alias) { super(name); this.name = name; this.alias = alias; this.modelClass = modelClass; } - /** - * Reads a list of properties from model class by reflection - * @return property array - */ - public Property[] getProperties() { - try { - return (Property[])modelClass.getField("PROPERTIES").get(null); - } catch (IllegalArgumentException | NoSuchFieldException | IllegalAccessException | SecurityException e) { - throw new RuntimeException(e); - } - } - - // --- for sql-dsl - /** * Create a new join table based on this table, but with an alias */ diff --git a/app/src/main/java/com/todoroo/andlib/data/TodorooCursor.java b/app/src/main/java/com/todoroo/andlib/data/TodorooCursor.java index a87f95013..48d1a3aba 100644 --- a/app/src/main/java/com/todoroo/andlib/data/TodorooCursor.java +++ b/app/src/main/java/com/todoroo/andlib/data/TodorooCursor.java @@ -9,6 +9,7 @@ import android.database.Cursor; import android.database.CursorWrapper; import com.todoroo.andlib.data.Property.PropertyVisitor; +import com.todoroo.astrid.data.Task; import java.util.ArrayList; import java.util.List; @@ -21,11 +22,9 @@ import java.util.WeakHashMap; * * @author Tim Su * - * @param a model type that is returned by this cursor */ -public class TodorooCursor extends CursorWrapper { +public class TodorooCursor extends CursorWrapper { - private final Class modelClass; /** Properties read by this cursor */ private final Property[] properties; @@ -42,16 +41,15 @@ public class TodorooCursor extends CursorWrapper { * * @param properties properties read from this cursor */ - public TodorooCursor(Class modelClass, Cursor cursor, Property[] properties) { + public TodorooCursor(Cursor cursor, Property[] properties) { super(cursor); - this.modelClass = modelClass; this.properties = properties; columnIndexCache = new WeakHashMap<>(); } - public List toList() { - List result = new ArrayList<>(); + public List toList() { + List result = new ArrayList<>(); try { for (moveToFirst() ; !isAfterLast() ; moveToNext()) { result.add(toModel()); @@ -62,17 +60,8 @@ public class TodorooCursor extends CursorWrapper { return result; } - public TYPE toModel() { - TYPE instance; - try { - instance = modelClass.newInstance(); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } - instance.readPropertiesFromCursor(this); - return instance; + public Task toModel() { + return new Task(this); } public int count() { @@ -83,7 +72,7 @@ public class TodorooCursor extends CursorWrapper { } } - public TYPE first() { + public Task first() { try { return moveToFirst() ? toModel() : null; } finally { @@ -127,11 +116,10 @@ public class TodorooCursor extends CursorWrapper { * @author Tim Su * */ - public static class CursorReadingVisitor implements PropertyVisitor> { + public static class CursorReadingVisitor implements PropertyVisitor { @Override - public Object visitInteger(Property property, - TodorooCursor cursor) { + public Object visitInteger(Property property, TodorooCursor cursor) { int column = columnIndex(property, cursor); if(property.checkFlag(Property.PROP_FLAG_NULLABLE) && cursor.isNull(column)) { return null; @@ -140,7 +128,7 @@ public class TodorooCursor extends CursorWrapper { } @Override - public Object visitLong(Property property, TodorooCursor cursor) { + public Object visitLong(Property property, TodorooCursor cursor) { int column = columnIndex(property, cursor); if(property.checkFlag(Property.PROP_FLAG_NULLABLE) && cursor.isNull(column)) { return null; @@ -149,7 +137,7 @@ public class TodorooCursor extends CursorWrapper { } @Override - public Object visitDouble(Property property, TodorooCursor cursor) { + public Object visitDouble(Property property, TodorooCursor cursor) { int column = columnIndex(property, cursor); if (property.checkFlag(Property.PROP_FLAG_NULLABLE) && cursor.isNull(column)) { return null; @@ -158,8 +146,7 @@ public class TodorooCursor extends CursorWrapper { } @Override - public Object visitString(Property property, - TodorooCursor cursor) { + public Object visitString(Property property, TodorooCursor cursor) { int column = columnIndex(property, cursor); if(property.checkFlag(Property.PROP_FLAG_NULLABLE) && cursor.isNull(column)) { return null; @@ -167,10 +154,8 @@ public class TodorooCursor extends CursorWrapper { return cursor.getString(column); } - private int columnIndex(Property property, TodorooCursor cursor) { + private int columnIndex(Property property, TodorooCursor cursor) { return cursor.getColumnIndexFromCache(property.getColumnName()); } - } - } diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index 2323eca25..51a32b1cf 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -425,7 +425,7 @@ public class TaskListFragment extends InjectingFragment implements } } - protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { + protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { return new TaskAdapter(context, cursor); } @@ -441,7 +441,7 @@ public class TaskListFragment extends InjectingFragment implements return; } - TodorooCursor currentCursor = taskListDataProvider.constructCursor(filter, taskProperties()); + TodorooCursor currentCursor = taskListDataProvider.constructCursor(filter, taskProperties()); if (currentCursor == null) { return; } @@ -461,7 +461,7 @@ public class TaskListFragment extends InjectingFragment implements } public void reconstructCursor() { - TodorooCursor cursor = taskListDataProvider.constructCursor(filter, taskProperties()); + TodorooCursor cursor = taskListDataProvider.constructCursor(filter, taskProperties()); if (cursor == null || taskAdapter == null) { return; } diff --git a/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java b/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java index a7e1acb29..518867afd 100644 --- a/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java @@ -37,7 +37,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { public List getTaskPositions(List longs) { List result = new ArrayList<>(); - TodorooCursor taskCursor = getTaskCursor(); + TodorooCursor taskCursor = getTaskCursor(); for (taskCursor.moveToFirst() ; !taskCursor.isAfterLast() ; taskCursor.moveToNext()) { if (longs.contains(taskCursor.get(Task.ID))) { result.add(taskCursor.getPosition()); @@ -114,12 +114,12 @@ public class TaskAdapter extends CursorAdapter implements Filterable { } - private TodorooCursor getTaskCursor() { - return (TodorooCursor) getCursor(); + private TodorooCursor getTaskCursor() { + return (TodorooCursor) getCursor(); } public long getTaskId(int position) { - TodorooCursor c = getTaskCursor(); + TodorooCursor c = getTaskCursor(); if (c != null) { if (c.moveToPosition(position)) { return c.get(Task.ID); @@ -129,7 +129,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { } public Task getTask(int position) { - TodorooCursor c = getTaskCursor(); + TodorooCursor c = getTaskCursor(); if (c != null) { if (c.moveToPosition(position)) { return c.toModel(); @@ -139,7 +139,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { } protected String getItemUuid(int position) { - TodorooCursor c = getTaskCursor(); + TodorooCursor c = getTaskCursor(); if (c != null) { if (c.moveToPosition(position)) { return c.get(Task.UUID); diff --git a/app/src/main/java/com/todoroo/astrid/dao/Database.java b/app/src/main/java/com/todoroo/astrid/dao/Database.java index 8a5a25d3a..bc21e73e3 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/Database.java +++ b/app/src/main/java/com/todoroo/astrid/dao/Database.java @@ -12,32 +12,28 @@ import android.database.Cursor; import android.database.sqlite.SQLiteConstraintException; import android.database.sqlite.SQLiteDatabase; -import com.todoroo.andlib.data.AbstractModel; -import com.todoroo.andlib.data.Table; import com.todoroo.andlib.utility.AndroidUtilities; - -import org.tasks.data.Filter; -import org.tasks.data.FilterDao; -import org.tasks.data.GoogleTaskList; -import org.tasks.data.GoogleTaskListDao; - -import org.tasks.data.TagData; import com.todoroo.astrid.data.Task; -import org.tasks.data.TaskAttachment; -import org.tasks.data.TaskListMetadata; -import org.tasks.data.UserActivity; import org.tasks.data.Alarm; import org.tasks.data.AlarmDao; +import org.tasks.data.Filter; +import org.tasks.data.FilterDao; import org.tasks.data.GoogleTask; import org.tasks.data.GoogleTaskDao; +import org.tasks.data.GoogleTaskList; +import org.tasks.data.GoogleTaskListDao; import org.tasks.data.Location; import org.tasks.data.LocationDao; import org.tasks.data.Tag; import org.tasks.data.TagDao; +import org.tasks.data.TagData; import org.tasks.data.TagDataDao; +import org.tasks.data.TaskAttachment; import org.tasks.data.TaskAttachmentDao; +import org.tasks.data.TaskListMetadata; import org.tasks.data.TaskListMetadataDao; +import org.tasks.data.UserActivity; import org.tasks.data.UserActivityDao; import org.tasks.notifications.Notification; import org.tasks.notifications.NotificationDao; @@ -84,10 +80,6 @@ public abstract class Database extends RoomDatabase { public static final String NAME = "database"; - private static final Table[] TABLES = new Table[] { - Task.TABLE - }; - private SupportSQLiteDatabase database; private Runnable onDatabaseUpdated; @@ -108,18 +100,6 @@ public abstract class Database extends RoomDatabase { } } - /** - * Return the name of the table containing these models - */ - public final Table getTable(Class modelType) { - for(Table table : TABLES) { - if(table.modelClass.equals(modelType)) { - return table; - } - } - throw new UnsupportedOperationException("Unknown model class " + modelType); //$NON-NLS-1$ - } - /** * Open the database for writing. Must be closed afterwards. If user is * out of disk space, database may be opened for reading instead diff --git a/app/src/main/java/com/todoroo/astrid/dao/RemoteModelDao.java b/app/src/main/java/com/todoroo/astrid/dao/RemoteModelDao.java index da72f814e..acc538b76 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/RemoteModelDao.java +++ b/app/src/main/java/com/todoroo/astrid/dao/RemoteModelDao.java @@ -2,6 +2,7 @@ package com.todoroo.astrid.dao; import com.todoroo.andlib.data.DatabaseDao; import com.todoroo.astrid.data.RemoteModel; +import com.todoroo.astrid.data.Task; import com.todoroo.astrid.helper.UUIDHelper; /** @@ -11,16 +12,15 @@ import com.todoroo.astrid.helper.UUIDHelper; * created model if one doesn't already exist. * @author Sam * - * @param */ -public class RemoteModelDao extends DatabaseDao { +public class RemoteModelDao extends DatabaseDao { - public RemoteModelDao(Database database, Class modelClass) { - super(database, modelClass); + public RemoteModelDao(Database database) { + super(database); } @Override - public boolean createNew(RTYPE item) { + public boolean createNew(Task item) { if (!item.containsValue(RemoteModel.UUID_PROPERTY) || RemoteModel.isUuidEmpty(item.getUuidProperty())) { item.setUuidProperty(UUIDHelper.newUUID()); } diff --git a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java index 17a53defe..6abc6e6e1 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java +++ b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java @@ -52,7 +52,7 @@ public class TaskDao { public static final String TRANS_SUPPRESS_REFRESH = "suppress-refresh"; - private final RemoteModelDao dao; + private final RemoteModelDao dao; private final LocalBroadcastManager localBroadcastManager; private final Preferences preferences; @@ -73,10 +73,10 @@ public class TaskDao { this.locationDao = locationDao; this.googleTaskDao = googleTaskDao; this.localBroadcastManager = localBroadcastManager; - dao = new RemoteModelDao<>(database, Task.class); + dao = new RemoteModelDao(database); } - public TodorooCursor query(Query query) { + public TodorooCursor query(Query query) { return dao.query(query); } @@ -172,7 +172,7 @@ public class TaskDao { } public String uuidFromLocalId(long localId) { - TodorooCursor cursor = dao.query(Query.select(RemoteModel.UUID_PROPERTY).where(AbstractModel.ID_PROPERTY.eq(localId))); + TodorooCursor cursor = dao.query(Query.select(RemoteModel.UUID_PROPERTY).where(AbstractModel.ID_PROPERTY.eq(localId))); try { if (cursor.getCount() == 0) { return RemoteModel.NO_UUID; @@ -238,7 +238,7 @@ public class TaskDao { } private ContentValues handleSQLiteConstraintException(Task task) { - TodorooCursor cursor = dao.query(Query.select(Task.ID).where( + TodorooCursor cursor = dao.query(Query.select(Task.ID).where( Task.UUID.eq(task.getUUID()))); if (cursor.getCount() > 0) { cursor.moveToFirst(); @@ -332,7 +332,7 @@ public class TaskDao { } catch (SQLiteConstraintException e) { Timber.e(e, e.getMessage()); String uuid = item.getUUID(); - TodorooCursor tasksWithUUID = dao.query(Query.select( + TodorooCursor tasksWithUUID = dao.query(Query.select( SQL_CONSTRAINT_MERGE_PROPERTIES).where( Task.UUID.eq(uuid))); try { @@ -396,7 +396,7 @@ public class TaskDao { save(item); } - public TodorooCursor fetchFiltered(String queryTemplate, Property... properties) { + public TodorooCursor fetchFiltered(String queryTemplate, Property... properties) { return query(queryTemplate == null ? Query.selectDistinct(properties) : Query.select(properties).withQueryTemplate(PermaSql.replacePlaceholders(queryTemplate))); diff --git a/app/src/main/java/com/todoroo/astrid/data/RemoteModel.java b/app/src/main/java/com/todoroo/astrid/data/RemoteModel.java index e099280a1..9931df905 100644 --- a/app/src/main/java/com/todoroo/astrid/data/RemoteModel.java +++ b/app/src/main/java/com/todoroo/astrid/data/RemoteModel.java @@ -32,7 +32,7 @@ abstract public class RemoteModel extends AbstractModel { super(); } - RemoteModel(TodorooCursor cursor) { + RemoteModel(TodorooCursor cursor) { super(cursor); } diff --git a/app/src/main/java/com/todoroo/astrid/data/Task.java b/app/src/main/java/com/todoroo/astrid/data/Task.java index 9b3a2a9a0..8c7552828 100644 --- a/app/src/main/java/com/todoroo/astrid/data/Task.java +++ b/app/src/main/java/com/todoroo/astrid/data/Task.java @@ -234,7 +234,7 @@ public class Task extends RemoteModel { } @Ignore - public Task(TodorooCursor cursor) { + public Task(TodorooCursor cursor) { super(cursor); } diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java b/app/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java index 6a9d27098..815228d42 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java @@ -49,7 +49,7 @@ class AstridOrderedListFragmentHelper { updater.initialize(list, filter); } - TaskAdapter createTaskAdapter(Context context, TodorooCursor cursor) { + TaskAdapter createTaskAdapter(Context context, TodorooCursor cursor) { taskAdapter = new DraggableTaskAdapter(context, cursor); taskAdapter.setOnCompletedTaskListener(this::setCompletedForItemAndSubtasks); @@ -152,7 +152,7 @@ class AstridOrderedListFragmentHelper { if(chained.size() > 0) { // move recurring items to item parent - TodorooCursor recurring = taskDao.query(Query.select(Task.UUID, Task.RECURRENCE).where( + TodorooCursor recurring = taskDao.query(Query.select(Task.UUID, Task.RECURRENCE).where( Criterion.and(Task.UUID.in(chained.toArray(new String[chained.size()])), Task.RECURRENCE.isNotNull(), Functions.length(Task.RECURRENCE).gt(0)))); try { diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java index e06f34576..83ba893d8 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksFilterUpdater.java @@ -120,7 +120,7 @@ public class SubtasksFilterUpdater { sql = sql.replace( TaskDao.TaskCriteria.activeAndVisible().toString(), TaskDao.TaskCriteria.notDeleted().toString()); - TodorooCursor tasks = taskDao.fetchFiltered(sql, Task.UUID); + TodorooCursor tasks = taskDao.fetchFiltered(sql, Task.UUID); try { for (tasks.moveToFirst(); !tasks.isAfterLast(); tasks.moveToNext()) { String id = tasks.getString(0); diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java index c0d5a2348..362d27dbb 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksHelper.java @@ -171,7 +171,7 @@ public class SubtasksHelper { private static HashMap getIdMap(TaskDao taskDao, Iterable keys, Property keyProperty, Property valueProperty) { HashMap map = new HashMap<>(); - TodorooCursor tasks = taskDao.query(Query.select(keyProperty, valueProperty).where(keyProperty.in(keys))); + TodorooCursor tasks = taskDao.query(Query.select(keyProperty, valueProperty).where(keyProperty.in(keys))); try { for (tasks.moveToFirst(); !tasks.isAfterLast(); tasks.moveToNext()) { A key = tasks.get(keyProperty); diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java index ba86ad980..5021e25a9 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksListFragment.java @@ -102,7 +102,7 @@ public class SubtasksListFragment extends TaskListFragment { } @Override - protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { + protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { return helper.createTaskAdapter(theme.wrap(context), cursor); } diff --git a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java index fe8148adc..60534d5e2 100644 --- a/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java +++ b/app/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java @@ -73,7 +73,7 @@ public class SubtasksTagListFragment extends TagListFragment { } @Override - protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { + protected TaskAdapter createTaskAdapter(TodorooCursor cursor) { return helper.createTaskAdapter(theme.wrap(context), cursor); } diff --git a/app/src/main/java/org/tasks/data/TaskListDataProvider.java b/app/src/main/java/org/tasks/data/TaskListDataProvider.java index bf76945be..9da9f0597 100644 --- a/app/src/main/java/org/tasks/data/TaskListDataProvider.java +++ b/app/src/main/java/org/tasks/data/TaskListDataProvider.java @@ -36,7 +36,7 @@ public class TaskListDataProvider { this.preferences = preferences; } - public TodorooCursor constructCursor(Filter filter, Property[] properties) { + public TodorooCursor constructCursor(Filter filter, Property[] properties) { Criterion tagsJoinCriterion = Criterion.and( Task.ID.eq(Field.field(TAGS_METADATA_JOIN + ".task"))); diff --git a/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java b/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java index 7e3d91081..dbad80ef9 100644 --- a/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java +++ b/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java @@ -108,7 +108,7 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter im public void onBindViewHolder(ViewHolder holder, int position) { Cursor cursor = adapter.getCursor(); cursor.moveToPosition(position); - holder.bindView((TodorooCursor) cursor); + holder.bindView((TodorooCursor) cursor); holder.setMoving(false); holder.setIndent(adapter.getIndent(holder.task)); } diff --git a/app/src/main/java/org/tasks/tasklist/ViewHolder.java b/app/src/main/java/org/tasks/tasklist/ViewHolder.java index 32bfdda7b..707d66909 100644 --- a/app/src/main/java/org/tasks/tasklist/ViewHolder.java +++ b/app/src/main/java/org/tasks/tasklist/ViewHolder.java @@ -194,7 +194,7 @@ class ViewHolder extends MultiSelectorBindingHolder { return indent > 0; } - void bindView(TodorooCursor cursor) { + void bindView(TodorooCursor cursor) { tagsString = cursor.get(TaskAdapter.TAGS); hasFiles = cursor.get(TaskAdapter.FILE_ID_PROPERTY) > 0; hasNotes = cursor.get(TaskAdapter.HAS_NOTES_PROPERTY) > 0; diff --git a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java index 8c55d7255..51149392f 100644 --- a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java +++ b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java @@ -55,7 +55,7 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory { private int textColorPrimary; private int textColorSecondary; - private TodorooCursor cursor; + private TodorooCursor cursor; ScrollableViewsFactory( SubtasksHelper subtasksHelper, @@ -199,7 +199,7 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory { return null; } - private TodorooCursor getCursor() { + private TodorooCursor getCursor() { String query = getQuery(); return taskDao.fetchFiltered(query, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE, Task.IMPORTANCE, Task.RECURRENCE); }