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 76bb889d3..53f4aca1f 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java +++ b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.java @@ -93,6 +93,9 @@ public abstract class TaskDao { "WHERE remoteId = :remoteId") public abstract void setCompletionDate(String remoteId, long completionDate); + @android.arch.persistence.room.Query("UPDATE tasks SET snoozeTime = :millis WHERE _id in (:taskIds)") + public abstract void snooze(List taskIds, long millis); + // --- SQL clause generators /** diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java index c7712adba..49e306048 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java @@ -53,7 +53,7 @@ public class TaskCreator { this.googleTaskDao = googleTaskDao; } - public void basicQuickAddTask(String title) { + public Task basicQuickAddTask(String title) { title = title.trim(); Task task = createWithValues(null, title); @@ -73,6 +73,7 @@ public class TaskCreator { } taskDao.save(task); + return task; } /** diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.java b/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.java index 8cbc13777..7c37a320b 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskDeleter.java @@ -17,6 +17,7 @@ import java.util.List; import javax.inject.Inject; import static com.todoroo.andlib.sql.Criterion.all; +import static com.todoroo.andlib.utility.DateUtilities.now; import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.isVisible; import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.notCompleted; @@ -60,10 +61,8 @@ public class TaskDeleter { return; } - Task template = new Task(); - template.setId(item.getId()); - template.setDeletionDate(DateUtilities.now()); - taskDao.save(template); + item.setDeletionDate(now()); + taskDao.save(item); } public int markDeleted(List tasks) { diff --git a/app/src/main/java/org/tasks/reminders/MissedCallActivity.java b/app/src/main/java/org/tasks/reminders/MissedCallActivity.java index 66fdfab0f..91c62e30c 100644 --- a/app/src/main/java/org/tasks/reminders/MissedCallActivity.java +++ b/app/src/main/java/org/tasks/reminders/MissedCallActivity.java @@ -6,8 +6,8 @@ import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.text.TextUtils; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.service.TaskCreator; import org.tasks.R; import org.tasks.injection.ActivityComponent; @@ -28,7 +28,7 @@ public class MissedCallActivity extends InjectingAppCompatActivity implements Mi public static final String EXTRA_CALL_LATER = "extra_call_later"; @Inject NotificationManager notificationManager; - @Inject TaskDao taskDao; + @Inject TaskCreator taskCreator; private String name; private String number; @@ -86,11 +86,10 @@ public class MissedCallActivity extends InjectingAppCompatActivity implements Mi @Override public void callLater() { - Task task = new Task(); - task.setTitle(TextUtils.isEmpty(name) + String title = TextUtils.isEmpty(name) ? getString(R.string.MCA_task_title_no_name, number) - : getString(R.string.MCA_task_title_name, name, number)); - taskDao.save(task); + : getString(R.string.MCA_task_title_name, name, number); + Task task = taskCreator.basicQuickAddTask(title); TaskIntents .getEditTaskStack(this, null, task.getId()) .startActivities(); diff --git a/app/src/main/java/org/tasks/reminders/SnoozeActivity.java b/app/src/main/java/org/tasks/reminders/SnoozeActivity.java index 7e577d7f6..5d1544804 100644 --- a/app/src/main/java/org/tasks/reminders/SnoozeActivity.java +++ b/app/src/main/java/org/tasks/reminders/SnoozeActivity.java @@ -86,12 +86,7 @@ public class SnoozeActivity extends InjectingAppCompatActivity implements Snooze @Override public void snoozeForTime(DateTime time) { - for (Long taskId : taskIds) { - Task task = new Task(); - task.setId(taskId); - task.setReminderSnooze(time.getMillis()); - taskDao.save(task); - } + taskDao.snooze(taskIds, time.getMillis()); notificationManager.cancel(taskIds); setResult(RESULT_OK); finish(); diff --git a/app/src/main/java/org/tasks/tasklist/ViewHolder.java b/app/src/main/java/org/tasks/tasklist/ViewHolder.java index a3c08b623..2f891aad9 100644 --- a/app/src/main/java/org/tasks/tasklist/ViewHolder.java +++ b/app/src/main/java/org/tasks/tasklist/ViewHolder.java @@ -143,8 +143,6 @@ class ViewHolder extends MultiSelectorBindingHolder { this.selectedColor = selectedColor; ButterKnife.bind(this, view); - task = new Task(); - if (showFullTaskTitle) { nameView.setMaxLines(Integer.MAX_VALUE); nameView.setSingleLine(false);