From 34511b83ffe01aedd0bac6e69e954161b4dbc174 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 11 Jul 2014 10:29:20 -0500 Subject: [PATCH] Hide readPropertiesFromCursor --- .../java/com/todoroo/andlib/data/AbstractModel.java | 11 ++++++++--- .../main/java/com/todoroo/astrid/data/Metadata.java | 7 +------ .../java/com/todoroo/astrid/data/RemoteModel.java | 9 +++++++++ .../java/com/todoroo/astrid/data/StoreObject.java | 7 +------ .../main/java/com/todoroo/astrid/data/TagData.java | 7 +------ api/src/main/java/com/todoroo/astrid/data/Task.java | 7 +------ .../java/com/todoroo/astrid/data/TaskAttachment.java | 7 +------ .../com/todoroo/astrid/data/TaskListMetadata.java | 3 +-- .../java/com/todoroo/astrid/data/UserActivity.java | 3 +-- .../com/todoroo/astrid/dao/MetadataDaoTests.java | 8 ++++---- .../com/todoroo/astrid/repeats/NewRepeatTests.java | 2 +- .../com/todoroo/astrid/actfm/TagViewFragment.java | 4 ++-- .../java/com/todoroo/astrid/adapter/TaskAdapter.java | 12 ++++-------- .../java/com/todoroo/astrid/alarms/AlarmService.java | 6 ++---- .../astrid/alarms/AlarmTaskRepeatListener.java | 3 +-- .../com/todoroo/astrid/backup/TasksXmlExporter.java | 9 +++------ .../com/todoroo/astrid/core/CustomFilterExposer.java | 3 +-- .../com/todoroo/astrid/core/OldTaskPreferences.java | 12 ++++-------- .../java/com/todoroo/astrid/core/SavedFilter.java | 8 +++++--- .../java/com/todoroo/astrid/dao/MetadataDao.java | 5 ++--- .../main/java/com/todoroo/astrid/dao/TaskDao.java | 6 ++---- .../com/todoroo/astrid/files/FilesControlSet.java | 3 +-- .../todoroo/astrid/gtasks/GtasksTaskListUpdater.java | 3 +-- .../astrid/gtasks/sync/GtasksSyncV2Provider.java | 3 +-- .../com/todoroo/astrid/notes/EditNoteActivity.java | 3 +-- .../com/todoroo/astrid/notes/NotesDetailExposer.java | 3 +-- .../todoroo/astrid/reminders/ReminderService.java | 3 +-- .../com/todoroo/astrid/service/MetadataService.java | 5 ++--- .../com/todoroo/astrid/service/TaskDuplicator.java | 3 +-- .../subtasks/AstridOrderedListFragmentHelper.java | 4 +--- .../java/com/todoroo/astrid/tags/TagService.java | 6 ++---- .../todoroo/astrid/widget/WidgetUpdateService.java | 3 +-- .../java/org/tasks/scheduling/RefreshScheduler.java | 3 +-- 33 files changed, 69 insertions(+), 112 deletions(-) diff --git a/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java b/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java index 3510930d1..ba6a437ee 100644 --- a/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java +++ b/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java @@ -76,6 +76,13 @@ public abstract class AbstractModel implements Parcelable, Cloneable { /** Transitory Metadata (not saved in database) */ protected HashMap transitoryData = null; + public AbstractModel() { + } + + public AbstractModel(TodorooCursor cursor) { + readPropertiesFromCursor(cursor); + } + /** Get database-read values for this object */ public ContentValues getDatabaseValues() { return values; @@ -165,12 +172,10 @@ public abstract class AbstractModel implements Parcelable, Cloneable { return clone; } - // --- data retrieval - /** * Reads all properties from the supplied cursor and store */ - public synchronized void readPropertiesFromCursor(TodorooCursor cursor) { + private void readPropertiesFromCursor(TodorooCursor cursor) { if (values == null) { values = new ContentValues(); } diff --git a/api/src/main/java/com/todoroo/astrid/data/Metadata.java b/api/src/main/java/com/todoroo/astrid/data/Metadata.java index 8d0995cf4..2e7ba7563 100644 --- a/api/src/main/java/com/todoroo/astrid/data/Metadata.java +++ b/api/src/main/java/com/todoroo/astrid/data/Metadata.java @@ -106,12 +106,7 @@ public class Metadata extends AbstractModel { } public Metadata(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); - } - - public void readFromCursor(TodorooCursor cursor) { - super.readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java b/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java index 9fe8887dc..79d0b2ee5 100644 --- a/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java +++ b/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java @@ -11,6 +11,7 @@ import android.text.TextUtils; import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.data.Property.StringProperty; +import com.todoroo.andlib.data.TodorooCursor; import org.json.JSONException; import org.json.JSONObject; @@ -27,6 +28,14 @@ import java.io.File; */ abstract public class RemoteModel extends AbstractModel { + public RemoteModel() { + super(); + } + + public RemoteModel(TodorooCursor cursor) { + super(cursor); + } + private static final Logger log = LoggerFactory.getLogger(RemoteModel.class); /** remote id property common to all remote models */ diff --git a/api/src/main/java/com/todoroo/astrid/data/StoreObject.java b/api/src/main/java/com/todoroo/astrid/data/StoreObject.java index b78e7e81f..676f1145b 100644 --- a/api/src/main/java/com/todoroo/astrid/data/StoreObject.java +++ b/api/src/main/java/com/todoroo/astrid/data/StoreObject.java @@ -80,12 +80,7 @@ public class StoreObject extends AbstractModel { } public StoreObject(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); - } - - public void readFromCursor(TodorooCursor cursor) { - super.readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/TagData.java b/api/src/main/java/com/todoroo/astrid/data/TagData.java index bc2951520..1714c5476 100644 --- a/api/src/main/java/com/todoroo/astrid/data/TagData.java +++ b/api/src/main/java/com/todoroo/astrid/data/TagData.java @@ -83,12 +83,7 @@ public final class TagData extends RemoteModel { } public TagData(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); - } - - public void readFromCursor(TodorooCursor cursor) { - super.readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/Task.java b/api/src/main/java/com/todoroo/astrid/data/Task.java index cf10e242e..c64aef367 100644 --- a/api/src/main/java/com/todoroo/astrid/data/Task.java +++ b/api/src/main/java/com/todoroo/astrid/data/Task.java @@ -219,12 +219,7 @@ public class Task extends RemoteModel { } public Task(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); - } - - public void readFromCursor(TodorooCursor cursor) { - super.readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/TaskAttachment.java b/api/src/main/java/com/todoroo/astrid/data/TaskAttachment.java index 61bd20d19..7d14ef650 100644 --- a/api/src/main/java/com/todoroo/astrid/data/TaskAttachment.java +++ b/api/src/main/java/com/todoroo/astrid/data/TaskAttachment.java @@ -123,12 +123,7 @@ public final class TaskAttachment extends RemoteModel { } public TaskAttachment(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); - } - - public void readFromCursor(TodorooCursor cursor) { - super.readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/TaskListMetadata.java b/api/src/main/java/com/todoroo/astrid/data/TaskListMetadata.java index 2eb368b10..926f67a36 100644 --- a/api/src/main/java/com/todoroo/astrid/data/TaskListMetadata.java +++ b/api/src/main/java/com/todoroo/astrid/data/TaskListMetadata.java @@ -79,8 +79,7 @@ public final class TaskListMetadata extends RemoteModel { } public TaskListMetadata(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); + super(cursor); } @Override diff --git a/api/src/main/java/com/todoroo/astrid/data/UserActivity.java b/api/src/main/java/com/todoroo/astrid/data/UserActivity.java index 874274378..edcd2643f 100644 --- a/api/src/main/java/com/todoroo/astrid/data/UserActivity.java +++ b/api/src/main/java/com/todoroo/astrid/data/UserActivity.java @@ -63,8 +63,7 @@ public class UserActivity extends RemoteModel { public static final String ACTION_TASK_COMMENT = "task_comment"; public UserActivity(TodorooCursor cursor) { - this(); - readPropertiesFromCursor(cursor); + super(cursor); } // --- helpers diff --git a/astrid/src/androidTest/java/com/todoroo/astrid/dao/MetadataDaoTests.java b/astrid/src/androidTest/java/com/todoroo/astrid/dao/MetadataDaoTests.java index 5f12b47ec..744e700f8 100644 --- a/astrid/src/androidTest/java/com/todoroo/astrid/dao/MetadataDaoTests.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/dao/MetadataDaoTests.java @@ -75,7 +75,7 @@ public class MetadataDaoTests extends DatabaseTestCase { Query.select(KEYS)); assertEquals(1, cursor.getCount()); cursor.moveToFirst(); - metadata.readFromCursor(cursor); + metadata = new Metadata(cursor); assertEquals("happy", metadata.getKey()); cursor.close(); } @@ -105,10 +105,10 @@ public class MetadataDaoTests extends DatabaseTestCase { Query.select(KEYS).where(MetadataCriteria.byTask(1))); assertEquals(2, cursor.getCount()); cursor.moveToFirst(); - metadata.readFromCursor(cursor); + metadata = new Metadata(cursor); assertEquals("with1", metadata.getKey()); cursor.moveToNext(); - metadata.readFromCursor(cursor); + metadata = new Metadata(cursor); assertEquals("with1", metadata.getKey()); cursor.close(); @@ -185,7 +185,7 @@ public class MetadataDaoTests extends DatabaseTestCase { cursor = metadataDao.fetchDangling(KEYS); assertEquals(1, cursor.getCount()); cursor.moveToFirst(); - metadata.readFromCursor(cursor); + metadata = new Metadata(cursor); assertEquals("with2", metadata.getKey()); cursor.close(); } diff --git a/astrid/src/androidTest/java/com/todoroo/astrid/repeats/NewRepeatTests.java b/astrid/src/androidTest/java/com/todoroo/astrid/repeats/NewRepeatTests.java index d5f5dae51..9dce4bd99 100644 --- a/astrid/src/androidTest/java/com/todoroo/astrid/repeats/NewRepeatTests.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/repeats/NewRepeatTests.java @@ -144,7 +144,7 @@ public class NewRepeatTests extends DatabaseTestCase { } assertEquals(1, cursor.getCount()); cursor.moveToFirst(); - t.readFromCursor(cursor); + t = new Task(cursor); assertEquals(title, t.getTitle()); assertFalse(t.isCompleted()); diff --git a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java index 397dd50a2..35189029c 100644 --- a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java @@ -125,14 +125,14 @@ public class TagViewFragment extends TaskListFragment { } try { - tagData = new TagData(); if(cursor.getCount() == 0) { + tagData = new TagData(); tagData.setName(tag); tagData.setUUID(uuid); tagDataService.save(tagData); } else { cursor.moveToFirst(); - tagData.readFromCursor(cursor); + tagData = new TagData(cursor); } } finally { cursor.close(); 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 ba3459cc1..6e6c042dc 100644 --- a/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.java @@ -360,12 +360,11 @@ public class TaskAdapter extends CursorAdapter implements Filterable { viewHolder.hasNotes = cursor.get(HAS_NOTES_PROPERTY) > 0; } - Task task = viewHolder.task; - task.clear(); - task.readFromCursor(cursor); + // TODO: see if this is a performance issue + viewHolder.task = new Task(cursor); setFieldContentsAndVisibility(view); - setTaskAppearance(viewHolder, task); + setTaskAppearance(viewHolder, viewHolder.task); } public String getItemUuid(int position) { @@ -686,11 +685,8 @@ public class TaskAdapter extends CursorAdapter implements Filterable { try { Random random = new Random(); - Task task = new Task(); - for(fetchCursor.moveToFirst(); !fetchCursor.isAfterLast(); fetchCursor.moveToNext()) { - task.clear(); - task.readFromCursor(fetchCursor); + Task task = new Task(fetchCursor); if(task.isCompleted()) { continue; } diff --git a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmService.java b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmService.java index 8da4ff119..708e2cf68 100644 --- a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmService.java +++ b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmService.java @@ -128,9 +128,8 @@ public class AlarmService { public void scheduleAllAlarms() { TodorooCursor cursor = getActiveAlarms(); try { - Metadata alarm = new Metadata(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - alarm.readFromCursor(cursor); + Metadata alarm = new Metadata(cursor); scheduleAlarm(alarm); } } catch (Exception e) { @@ -149,9 +148,8 @@ public class AlarmService { public void scheduleAlarms(long taskId) { TodorooCursor cursor = getActiveAlarmsForTask(taskId); try { - Metadata alarm = new Metadata(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - alarm.readFromCursor(cursor); + Metadata alarm = new Metadata(cursor); scheduleAlarm(alarm); } } catch (Exception e) { diff --git a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmTaskRepeatListener.java b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmTaskRepeatListener.java index aea7da972..b53e0f4e3 100644 --- a/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmTaskRepeatListener.java +++ b/astrid/src/main/java/com/todoroo/astrid/alarms/AlarmTaskRepeatListener.java @@ -49,10 +49,9 @@ public class AlarmTaskRepeatListener extends InjectingBroadcastReceiver { return; } - Metadata metadata = new Metadata(); LinkedHashSet alarms = new LinkedHashSet<>(cursor.getCount()); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - metadata.readFromCursor(cursor); + Metadata metadata = new Metadata(cursor); alarms.add(metadata.getValue(AlarmFields.TIME) + (newDueDate - oldDueDate)); } alarmService.synchronizeAlarms(taskId, alarms); 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 e3f3fc1f5..78503b169 100644 --- a/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java +++ b/astrid/src/main/java/com/todoroo/astrid/backup/TasksXmlExporter.java @@ -176,11 +176,10 @@ public class TasksXmlExporter { TagData.PROPERTIES).orderBy(Order.asc(TagData.ID))); try { - TagData tag = new TagData(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - tag.readFromCursor(cursor); + TagData tag = new TagData(cursor); //TODO setProgress(i, length); @@ -199,11 +198,10 @@ public class TasksXmlExporter { cursor = taskService.query(Query.select( Task.PROPERTIES).orderBy(Order.asc(Task.ID))); try { - Task task = new Task(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - task.readFromCursor(cursor); + Task task = new Task(cursor); setProgress(i, length); @@ -222,9 +220,8 @@ public class TasksXmlExporter { TodorooCursor cursor = metadataService.query(Query.select( Metadata.PROPERTIES).where(MetadataCriteria.byTask(task.getId()))); try { - Metadata metadata = new Metadata(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - metadata.readFromCursor(cursor); + Metadata metadata = new Metadata(cursor); xml.startTag(null, BackupConstants.METADATA_TAG); serializeModel(metadata, Metadata.PROPERTIES, Metadata.ID, Metadata.TASK); 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 484ad7198..c0caaab3f 100644 --- a/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/core/CustomFilterExposer.java @@ -88,9 +88,8 @@ public final class CustomFilterExposer extends InjectingBroadcastReceiver implem } if (cursor != null) { - StoreObject savedFilter = new StoreObject(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - savedFilter.readFromCursor(cursor); + StoreObject savedFilter = new StoreObject(cursor); Filter f = SavedFilter.load(savedFilter); Intent deleteIntent = new Intent(context, DeleteActivity.class); diff --git a/astrid/src/main/java/com/todoroo/astrid/core/OldTaskPreferences.java b/astrid/src/main/java/com/todoroo/astrid/core/OldTaskPreferences.java index 470e9adb0..b07dea967 100644 --- a/astrid/src/main/java/com/todoroo/astrid/core/OldTaskPreferences.java +++ b/astrid/src/main/java/com/todoroo/astrid/core/OldTaskPreferences.java @@ -147,11 +147,10 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); try { - Task task = new Task(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - task.readFromCursor(cursor); + Task task = new Task(cursor); gcalHelper.deleteTaskEvent(task); } } finally { @@ -186,11 +185,10 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.TITLE, Task.CALENDAR_URI).where( Criterion.and(Task.DELETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); try { - Task task = new Task(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - task.readFromCursor(cursor); + Task task = new Task(cursor); gcalHelper.deleteTaskEvent(task); } } finally { @@ -221,11 +219,10 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); try { - Task task = new Task(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - task.readFromCursor(cursor); + Task task = new Task(cursor); if (gcalHelper.deleteTaskEvent(task)) { deletedEventCount++; } @@ -263,11 +260,10 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( Task.CALENDAR_URI.isNotNull())); try { - Task task = new Task(); int length = cursor.getCount(); for(int i = 0; i < length; i++) { cursor.moveToNext(); - task.readFromCursor(cursor); + Task task = new Task(cursor); if (gcalHelper.deleteTaskEvent(task)) { deletedEventCount++; } diff --git a/astrid/src/main/java/com/todoroo/astrid/core/SavedFilter.java b/astrid/src/main/java/com/todoroo/astrid/core/SavedFilter.java index 384c7ba06..c82b88eca 100644 --- a/astrid/src/main/java/com/todoroo/astrid/core/SavedFilter.java +++ b/astrid/src/main/java/com/todoroo/astrid/core/SavedFilter.java @@ -57,12 +57,14 @@ public class SavedFilter { } // if filter of this name exists, edit it - StoreObject storeObject = new StoreObject(); + StoreObject storeObject; TodorooCursor cursor = dao.query(Query.select(StoreObject.ID).where(NAME.eq(title))); try { - if(!cursor.isAfterLast()) { + if (cursor.isAfterLast()) { + storeObject = new StoreObject(); + } else { cursor.moveToNext(); - storeObject.readFromCursor(cursor); + storeObject = new StoreObject(cursor); } } finally { cursor.close(); diff --git a/astrid/src/main/java/com/todoroo/astrid/dao/MetadataDao.java b/astrid/src/main/java/com/todoroo/astrid/dao/MetadataDao.java index 5202ca4c0..d5feda565 100644 --- a/astrid/src/main/java/com/todoroo/astrid/dao/MetadataDao.java +++ b/astrid/src/main/java/com/todoroo/astrid/dao/MetadataDao.java @@ -84,13 +84,12 @@ public class MetadataDao extends DatabaseDao { newMetadataValues.add(metadatum.getMergedValues()); } - Metadata item = new Metadata(); TodorooCursor cursor = query(Query.select(Metadata.PROPERTIES).where(Criterion.and(MetadataCriteria.byTask(taskId), metadataCriteria))); try { // try to find matches within our metadata list for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - item.readFromCursor(cursor); + Metadata item = new Metadata(cursor); long id = item.getId(); // clear item id when matching with incoming values @@ -110,7 +109,7 @@ public class MetadataDao extends DatabaseDao { // everything that remains shall be written for(ContentValues values : newMetadataValues) { - item.clear(); + Metadata item = new Metadata(); item.mergeWith(values); persist(item); } diff --git a/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java b/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java index 397142e4f..529a12651 100644 --- a/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java +++ b/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java @@ -258,10 +258,8 @@ public class TaskDao extends RemoteModelDao { Task.UUID.eq(uuid))); try { if (tasksWithUUID.getCount() > 0) { - Task curr = new Task(); - for (tasksWithUUID.moveToFirst(); - !tasksWithUUID.isAfterLast(); tasksWithUUID.moveToNext()) { - curr.readFromCursor(tasksWithUUID); + for (tasksWithUUID.moveToFirst(); !tasksWithUUID.isAfterLast(); tasksWithUUID.moveToNext()) { + Task curr = new Task(tasksWithUUID); if (curr.getId() == item.getId()) { continue; } 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 18a756fa2..0d7369b88 100644 --- a/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java +++ b/astrid/src/main/java/com/todoroo/astrid/files/FilesControlSet.java @@ -96,8 +96,7 @@ public class FilesControlSet extends PopupControlSet { try { files.clear(); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - TaskAttachment attachment = new TaskAttachment(); - attachment.readFromCursor(cursor); + TaskAttachment attachment = new TaskAttachment(cursor); files.add(attachment); } } finally { diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java index 6cbc510c7..8d8205317 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java @@ -161,9 +161,8 @@ public class GtasksTaskListUpdater extends OrderedMetadataListUpdater 0) { - Metadata curr = new Metadata(); for (metadata.moveToFirst(); !metadata.isAfterLast(); metadata.moveToNext()) { - curr.readFromCursor(metadata); + Metadata curr = new Metadata(metadata); if(alreadyChecked.contains(curr.getTask())) { continue; } diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java index a3fa812df..590b80cdb 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java @@ -161,9 +161,8 @@ public class GtasksSyncV2Provider extends SyncV2Provider { private synchronized void pushTasks(TodorooCursor queued, GtasksInvoker invoker) { try { - Task task = new Task(); for (queued.moveToFirst(); !queued.isAfterLast(); queued.moveToNext()) { - task.readFromCursor(queued); + Task task = new Task(queued); try { gtasksSyncService.pushTaskOnSave(task, task.getMergedValues(), invoker); } catch (IOException e) { diff --git a/astrid/src/main/java/com/todoroo/astrid/notes/EditNoteActivity.java b/astrid/src/main/java/com/todoroo/astrid/notes/EditNoteActivity.java index f21bfbbca..39aca2fc1 100644 --- a/astrid/src/main/java/com/todoroo/astrid/notes/EditNoteActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/notes/EditNoteActivity.java @@ -283,9 +283,8 @@ public class EditNoteActivity extends LinearLayout implements TimerActionListene MetadataCriteria.byTaskAndwithKey(task.getId(), NoteMetadata.METADATA_KEY))); try { - Metadata metadata = new Metadata(); for(notes.moveToFirst(); !notes.isAfterLast(); notes.moveToNext()) { - metadata.readFromCursor(notes); + Metadata metadata = new Metadata(notes); items.add(NoteOrUpdate.fromMetadata(metadata)); } } finally { diff --git a/astrid/src/main/java/com/todoroo/astrid/notes/NotesDetailExposer.java b/astrid/src/main/java/com/todoroo/astrid/notes/NotesDetailExposer.java index 11674988e..5f2e521a0 100644 --- a/astrid/src/main/java/com/todoroo/astrid/notes/NotesDetailExposer.java +++ b/astrid/src/main/java/com/todoroo/astrid/notes/NotesDetailExposer.java @@ -88,10 +88,9 @@ public class NotesDetailExposer extends InjectingBroadcastReceiver { Query.select(Metadata.PROPERTIES).where( MetadataCriteria.byTaskAndwithKey(task.getId(), NoteMetadata.METADATA_KEY)).orderBy(Order.asc(Metadata.CREATION_DATE))); - Metadata metadata = new Metadata(); try { for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - metadata.readFromCursor(cursor); + Metadata metadata = new Metadata(cursor); if(notesBuilder.length() > 0) { notesBuilder.append("\n"); diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java index c91ae98a9..2a5ac9287 100644 --- a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java +++ b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java @@ -123,10 +123,9 @@ public final class ReminderService { public void scheduleAllAlarms(TaskDao taskDao) { TodorooCursor cursor = getTasksWithReminders(taskDao, NOTIFICATION_PROPERTIES); try { - Task task = new Task(); now = DateUtilities.now(); // Before mass scheduling, initialize now variable for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - task.readFromCursor(cursor); + Task task = new Task(cursor); scheduleAlarm(task, null); } } catch (Exception e) { diff --git a/astrid/src/main/java/com/todoroo/astrid/service/MetadataService.java b/astrid/src/main/java/com/todoroo/astrid/service/MetadataService.java index 1f5317464..b1dd27a3e 100644 --- a/astrid/src/main/java/com/todoroo/astrid/service/MetadataService.java +++ b/astrid/src/main/java/com/todoroo/astrid/service/MetadataService.java @@ -113,13 +113,12 @@ public class MetadataService { newMetadataValues.add(values); } - Metadata item = new Metadata(); TodorooCursor cursor = metadataDao.query(Query.select(Metadata.PROPERTIES).where(Criterion.and(MetadataCriteria.byTask(taskId), metadataCriterion))); try { // try to find matches within our metadata list for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - item.readFromCursor(cursor); + Metadata item = new Metadata(cursor); long id = item.getId(); // clear item id when matching with incoming values @@ -146,7 +145,7 @@ public class MetadataService { // everything that remains shall be written for(ContentValues values : newMetadataValues) { - item.clear(); + Metadata item = new Metadata(); item.setCreationDate(DateUtilities.now()); item.mergeWith(values); metadataDao.persist(item); diff --git a/astrid/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java b/astrid/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java index a4e82c2b1..5632edabc 100644 --- a/astrid/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java +++ b/astrid/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java @@ -54,12 +54,11 @@ public class TaskDuplicator { Query.select(Metadata.PROPERTIES).where(MetadataDao.MetadataCriteria.byTask(task.getId()))); try { if(cursor.getCount() > 0) { - Metadata metadata = new Metadata(); newTask.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); taskService.save(newTask); long newId = newTask.getId(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - metadata.readFromCursor(cursor); + Metadata metadata = new Metadata(cursor); if(!metadata.containsNonNullValue(Metadata.KEY)) { continue; 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 f4067e216..0da3462c1 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java @@ -247,11 +247,9 @@ public class AstridOrderedListFragmentHelper implements OrderedListFragmen Criterion.and(Task.UUID.in(chained.toArray(new String[chained.size()])), Task.RECURRENCE.isNotNull(), Functions.length(Task.RECURRENCE).gt(0)))); try { - Task t = new Task(); boolean madeChanges = false; for (recurring.moveToFirst(); !recurring.isAfterLast(); recurring.moveToNext()) { - t.clear(); - t.readFromCursor(recurring); + Task t = new Task(recurring); if (!TextUtils.isEmpty(t.getRecurrence())) { updater.moveToParentOf(t.getUuid(), itemId); madeChanges = true; diff --git a/astrid/src/main/java/com/todoroo/astrid/tags/TagService.java b/astrid/src/main/java/com/todoroo/astrid/tags/TagService.java index 7992981e3..172d11f21 100644 --- a/astrid/src/main/java/com/todoroo/astrid/tags/TagService.java +++ b/astrid/src/main/java/com/todoroo/astrid/tags/TagService.java @@ -240,10 +240,9 @@ public final class TagService { TodorooCursor tags = getTags(taskId); try { int length = tags.getCount(); - Metadata metadata = new Metadata(); for (int i = 0; i < length; i++) { tags.moveToNext(); - metadata.readFromCursor(tags); + Metadata metadata = new Metadata(tags); tagBuilder.append(metadata.getValue(TaskToTagMetadata.TAG_NAME)); if (i < length - 1) { tagBuilder.append(separator); @@ -264,9 +263,8 @@ public final class TagService { TagData.DELETION_DATE.eq(0), TagData.NAME.isNotNull())).orderBy(Order.asc(Functions.upper(TagData.NAME)))); try { - TagData tagData = new TagData(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - tagData.readFromCursor(cursor); + TagData tagData = new TagData(cursor); Tag tag = new Tag(tagData); if(TextUtils.isEmpty(tag.tag)) { continue; diff --git a/astrid/src/main/java/com/todoroo/astrid/widget/WidgetUpdateService.java b/astrid/src/main/java/com/todoroo/astrid/widget/WidgetUpdateService.java index e9c825965..c9ed18bcf 100644 --- a/astrid/src/main/java/com/todoroo/astrid/widget/WidgetUpdateService.java +++ b/astrid/src/main/java/com/todoroo/astrid/widget/WidgetUpdateService.java @@ -118,11 +118,10 @@ public class WidgetUpdateService extends InjectingService { database.openForReading(); cursor = taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE); - Task task = new Task(); int i; for (i = 0; i < cursor.getCount() && i < numberOfTasks; i++) { cursor.moveToPosition(i); - task.readFromCursor(cursor); + Task task = new Task(cursor); String textContent; Resources r = context.getResources(); diff --git a/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java b/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java index 463af72e0..1ed68e243 100644 --- a/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java +++ b/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java @@ -41,9 +41,8 @@ public class RefreshScheduler { public void scheduleAllAlarms() { TodorooCursor cursor = getTasks(); try { - Task task = new Task(); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { - task.readFromCursor(cursor); + Task task = new Task(cursor); scheduleRefresh(task); } } finally {