|
|
|
@ -14,7 +14,6 @@ import android.net.Uri;
|
|
|
|
|
import android.support.annotation.NonNull;
|
|
|
|
|
|
|
|
|
|
import com.google.common.base.Joiner;
|
|
|
|
|
import com.todoroo.andlib.data.TodorooCursor;
|
|
|
|
|
import com.todoroo.andlib.sql.Criterion;
|
|
|
|
|
import com.todoroo.andlib.sql.Query;
|
|
|
|
|
import com.todoroo.andlib.utility.DateUtilities;
|
|
|
|
@ -169,19 +168,12 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
|
|
|
|
|
* @return cursor as described above
|
|
|
|
|
*/
|
|
|
|
|
private Cursor getTasks() {
|
|
|
|
|
|
|
|
|
|
MatrixCursor ret = new MatrixCursor(TASK_FIELD_LIST);
|
|
|
|
|
|
|
|
|
|
TodorooCursor<Task> cursor = taskDao.get().query(Query.select(Task.ID, Task.TITLE,
|
|
|
|
|
Task.IMPORTANCE, Task.DUE_DATE).where(Criterion.and(TaskCriteria.isActive(),
|
|
|
|
|
TaskCriteria.isVisible())).
|
|
|
|
|
orderBy(SortHelper.defaultTaskOrder()).limit(MAX_NUMBER_OF_TASKS));
|
|
|
|
|
try {
|
|
|
|
|
List<Integer> importanceColors = checkBoxes.get().getPriorityColors();
|
|
|
|
|
for (int i = 0; i < cursor.getCount(); i++) {
|
|
|
|
|
cursor.moveToNext();
|
|
|
|
|
Task task = new Task(cursor);
|
|
|
|
|
|
|
|
|
|
Query query = Query.select(Task.ID, Task.TITLE, Task.IMPORTANCE, Task.DUE_DATE)
|
|
|
|
|
.where(Criterion.and(TaskCriteria.isActive(), TaskCriteria.isVisible()))
|
|
|
|
|
.orderBy(SortHelper.defaultTaskOrder()).limit(MAX_NUMBER_OF_TASKS);
|
|
|
|
|
taskDao.get().forEach(query, task -> {
|
|
|
|
|
String taskTags = getTagsAsString(task.getId(), TAG_SEPARATOR);
|
|
|
|
|
|
|
|
|
|
Object[] values = new Object[7];
|
|
|
|
@ -194,11 +186,7 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
|
|
|
|
|
values[6] = taskTags;
|
|
|
|
|
|
|
|
|
|
ret.addRow(values);
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
cursor.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -268,16 +256,12 @@ public class Astrid2TaskProvider extends InjectingContentProvider {
|
|
|
|
|
* Update database based on selection and values
|
|
|
|
|
*/
|
|
|
|
|
private int updateBySelection(String selection, String[] selectionArgs, Task taskValues) {
|
|
|
|
|
TodorooCursor<Task> cursor = taskDao.get().rawQuery(selection, selectionArgs, Task.ID);
|
|
|
|
|
try {
|
|
|
|
|
for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
|
|
|
|
|
taskValues.setID(cursor.get(Task.ID));
|
|
|
|
|
List<Task> tasks = taskDao.get().rawQuery(selection, selectionArgs, Task.ID);
|
|
|
|
|
for (Task task : tasks) {
|
|
|
|
|
taskValues.setID(task.getId());
|
|
|
|
|
taskDao.get().save(taskValues);
|
|
|
|
|
}
|
|
|
|
|
return cursor.getCount();
|
|
|
|
|
} finally {
|
|
|
|
|
cursor.close();
|
|
|
|
|
}
|
|
|
|
|
return tasks.size();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void notifyDatabaseModification(Context context) {
|
|
|
|
|