Fix snoozing, missed calls, and deleting

pull/618/head
Alex Baker 8 years ago
parent 299a63d4c6
commit 154ca109be

@ -93,6 +93,9 @@ public abstract class TaskDao {
"WHERE remoteId = :remoteId") "WHERE remoteId = :remoteId")
public abstract void setCompletionDate(String remoteId, long completionDate); 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<Long> taskIds, long millis);
// --- SQL clause generators // --- SQL clause generators
/** /**

@ -53,7 +53,7 @@ public class TaskCreator {
this.googleTaskDao = googleTaskDao; this.googleTaskDao = googleTaskDao;
} }
public void basicQuickAddTask(String title) { public Task basicQuickAddTask(String title) {
title = title.trim(); title = title.trim();
Task task = createWithValues(null, title); Task task = createWithValues(null, title);
@ -73,6 +73,7 @@ public class TaskCreator {
} }
taskDao.save(task); taskDao.save(task);
return task;
} }
/** /**

@ -17,6 +17,7 @@ import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import static com.todoroo.andlib.sql.Criterion.all; 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.isVisible;
import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.notCompleted; import static com.todoroo.astrid.dao.TaskDao.TaskCriteria.notCompleted;
@ -60,10 +61,8 @@ public class TaskDeleter {
return; return;
} }
Task template = new Task(); item.setDeletionDate(now());
template.setId(item.getId()); taskDao.save(item);
template.setDeletionDate(DateUtilities.now());
taskDao.save(template);
} }
public int markDeleted(List<Task> tasks) { public int markDeleted(List<Task> tasks) {

@ -6,8 +6,8 @@ import android.os.Bundle;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
import android.text.TextUtils; import android.text.TextUtils;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.TaskCreator;
import org.tasks.R; import org.tasks.R;
import org.tasks.injection.ActivityComponent; 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"; public static final String EXTRA_CALL_LATER = "extra_call_later";
@Inject NotificationManager notificationManager; @Inject NotificationManager notificationManager;
@Inject TaskDao taskDao; @Inject TaskCreator taskCreator;
private String name; private String name;
private String number; private String number;
@ -86,11 +86,10 @@ public class MissedCallActivity extends InjectingAppCompatActivity implements Mi
@Override @Override
public void callLater() { public void callLater() {
Task task = new Task(); String title = TextUtils.isEmpty(name)
task.setTitle(TextUtils.isEmpty(name)
? getString(R.string.MCA_task_title_no_name, number) ? getString(R.string.MCA_task_title_no_name, number)
: getString(R.string.MCA_task_title_name, name, number)); : getString(R.string.MCA_task_title_name, name, number);
taskDao.save(task); Task task = taskCreator.basicQuickAddTask(title);
TaskIntents TaskIntents
.getEditTaskStack(this, null, task.getId()) .getEditTaskStack(this, null, task.getId())
.startActivities(); .startActivities();

@ -86,12 +86,7 @@ public class SnoozeActivity extends InjectingAppCompatActivity implements Snooze
@Override @Override
public void snoozeForTime(DateTime time) { public void snoozeForTime(DateTime time) {
for (Long taskId : taskIds) { taskDao.snooze(taskIds, time.getMillis());
Task task = new Task();
task.setId(taskId);
task.setReminderSnooze(time.getMillis());
taskDao.save(task);
}
notificationManager.cancel(taskIds); notificationManager.cancel(taskIds);
setResult(RESULT_OK); setResult(RESULT_OK);
finish(); finish();

@ -143,8 +143,6 @@ class ViewHolder extends MultiSelectorBindingHolder {
this.selectedColor = selectedColor; this.selectedColor = selectedColor;
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
task = new Task();
if (showFullTaskTitle) { if (showFullTaskTitle) {
nameView.setMaxLines(Integer.MAX_VALUE); nameView.setMaxLines(Integer.MAX_VALUE);
nameView.setSingleLine(false); nameView.setSingleLine(false);

Loading…
Cancel
Save