Fixing things

pull/618/head
Alex Baker 6 years ago
parent 9be5af7359
commit 990df8eb47

@ -28,9 +28,10 @@ android {
}
compileSdkVersion 27
buildToolsVersion '27.0.0'
buildToolsVersion '27.0.3'
defaultConfig {
testApplicationId "org.tasks.test"
applicationId "org.tasks"
versionCode 490
versionName "5.2.1"

@ -1,5 +1,7 @@
package com.todoroo.astrid.gtasks;
import org.tasks.data.GoogleTaskList;
import java.util.Collections;
import java.util.List;
@ -12,15 +14,11 @@ public class GtasksListService {
}
public List<GtasksList> getLists() {
public List<GoogleTaskList> getLists() {
return Collections.emptyList();
}
public GtasksList getList(long storeId) {
public GoogleTaskList getList(long storeId) {
return null;
}
public List<GtasksList> getSortedGtasksList() {
return Collections.emptyList();
}
}

@ -3,10 +3,11 @@ package com.todoroo.astrid.gtasks;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.GtasksFilter;
import org.tasks.data.GoogleTaskList;
import org.tasks.tasklist.GtasksListFragment;
public class GtasksSubtaskListFragment extends GtasksListFragment {
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GtasksList list) {
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
return null;
}
}

@ -1,27 +1,17 @@
package org.tasks.receivers;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.Task;
import org.tasks.injection.BroadcastComponent;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
public class PushReceiver extends InjectingBroadcastReceiver {
public class PushReceiver {
public static void broadcast(Context context, Task task, ContentValues values) {
}
@Inject
public PushReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
}
@Override
protected void inject(BroadcastComponent component) {
component.inject(this);
public void push(Task task, Task original) {
}
}

@ -3,8 +3,10 @@ package org.tasks.tasklist;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.GtasksFilter;
import org.tasks.data.GoogleTaskList;
public class GtasksListFragment extends TaskListFragment {
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GtasksList list) {
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
return null;
}
}

@ -3,6 +3,7 @@ package org.tasks.ui;
import com.todoroo.astrid.data.Task;
import org.tasks.R;
import org.tasks.data.GoogleTaskList;
import org.tasks.injection.FragmentComponent;
public class GoogleTaskListFragment extends TaskEditControlFragment {
@ -23,11 +24,6 @@ public class GoogleTaskListFragment extends TaskEditControlFragment {
return 0;
}
@Override
public void initialize(boolean isNewTask, Task task) {
}
@Override
public void apply(Task task) {
@ -38,7 +34,7 @@ public class GoogleTaskListFragment extends TaskEditControlFragment {
}
public void setList(GtasksList list) {
public void setList(GoogleTaskList list) {
}
}

@ -51,7 +51,7 @@ public class AlarmJobServiceTest extends InjectingTestCase {
public void scheduleAlarm() {
Task task = newTask();
taskDao.save(task);
taskDao.createNew(task);
DateTime alarmTime = new DateTime(2017, 9, 24, 19, 57);
Alarm alarm = new Alarm(task.getId(), alarmTime.getMillis());
@ -69,7 +69,7 @@ public class AlarmJobServiceTest extends InjectingTestCase {
Task task = newTask(with(REMINDER_LAST, alarmTime.endOfMinute()));
taskDao.save(task);
taskDao.createNew(task);
alarmDao.insert(new Alarm(task.getId(), alarmTime.getMillis()));

@ -38,7 +38,7 @@ public class TaskDaoTests extends InjectingTestCase {
// create task "happy"
Task task = new Task();
task.setTitle("happy");
taskDao.save(task);
taskDao.createNew(task);
assertEquals(1, taskDao.getAll().size());
long happyId = task.getId();
assertNotSame(Task.NO_ID, happyId);
@ -48,7 +48,7 @@ public class TaskDaoTests extends InjectingTestCase {
// create task "sad"
task = new Task();
task.setTitle("sad");
taskDao.save(task);
taskDao.createNew(task);
assertEquals(2, taskDao.getAll().size());
// rename sad to melancholy
@ -73,35 +73,35 @@ public class TaskDaoTests extends InjectingTestCase {
// create normal task
Task task = new Task();
task.setTitle("normal");
taskDao.save(task);
taskDao.createNew(task);
// create blank task
task = new Task();
task.setTitle("");
taskDao.save(task);
taskDao.createNew(task);
// create hidden task
task = new Task();
task.setTitle("hidden");
task.setHideUntil(DateUtilities.now() + 10000);
taskDao.save(task);
taskDao.createNew(task);
// create task with deadlines
task = new Task();
task.setTitle("deadlineInFuture");
task.setDueDate(DateUtilities.now() + 10000);
taskDao.save(task);
taskDao.createNew(task);
task = new Task();
task.setTitle("deadlineInPast");
task.setDueDate(DateUtilities.now() - 10000);
taskDao.save(task);
taskDao.createNew(task);
// create completed task
task = new Task();
task.setTitle("completed");
task.setCompletionDate(DateUtilities.now() - 10000);
taskDao.save(task);
taskDao.createNew(task);
// check is active
assertEquals(5, taskDao.getActiveTasks().size());
@ -120,7 +120,7 @@ public class TaskDaoTests extends InjectingTestCase {
// create task "happy"
Task task = new Task();
task.setTitle("happy");
taskDao.save(task);
taskDao.createNew(task);
assertEquals(1, taskDao.getAll().size());
// delete

@ -26,7 +26,7 @@ public class TaskTest extends InjectingTestCase {
public void testSavedTaskHasCreationDate() {
freezeClock().thawAfter(new Snippet() {{
Task task = new Task();
taskDao.save(task);
taskDao.createNew(task);
assertEquals(currentTimeMillis(), (long) task.getCreationDate());
}});
}
@ -34,7 +34,7 @@ public class TaskTest extends InjectingTestCase {
@Test
public void testReadTaskFromDb() {
Task task = new Task();
taskDao.save(task);
taskDao.createNew(task);
final Task fromDb = taskDao.fetch(task.getId());
assertEquals(task, fromDb);
}

@ -9,7 +9,6 @@ import android.support.test.runner.AndroidJUnit4;
import com.google.ical.values.Frequency;
import com.google.ical.values.RRule;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.TitleParser;
@ -36,7 +35,6 @@ import static org.tasks.date.DateTimeUtils.newDateTime;
@RunWith(AndroidJUnit4.class)
public class TitleParserTest extends InjectingTestCase {
@Inject TaskDao taskDao;
@Inject TagService tagService;
@Inject Preferences preferences;
@Inject TaskCreator taskCreator;
@ -55,10 +53,8 @@ public class TitleParserTest extends InjectingTestCase {
/** test that completing a task w/ no regular expressions creates a simple task with no date, no repeat, no lists*/
@Test
public void testNoRegexes() throws Exception {
Task task = new Task();
Task task = taskCreator.basicQuickAddTask("Jog");
Task nothing = new Task();
task.setTitle("Jog");
taskDao.save(task);
assertFalse(task.hasDueTime());
assertFalse(task.hasDueDate());
assertEquals(task.getRecurrence(), nothing.getRecurrence());
@ -264,25 +260,18 @@ public class TitleParserTest extends InjectingTestCase {
};
Task task;
for (String acceptedStringAtEnd : acceptedStringsAtEnd) {
task = new Task();
task.setTitle("Jog " + acceptedStringAtEnd); //test at end of task. should set importance.
taskDao.save(task);
task = taskCreator.basicQuickAddTask("Jog " + acceptedStringAtEnd); //test at end of task. should set importance.
assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO);
}
for (String acceptedStringAtEnd : acceptedStringsAtEnd) {
task = new Task();
task.setTitle(acceptedStringAtEnd + " jog"); //test at beginning of task. should not set importance.
taskDao.save(task);
task = taskCreator.basicQuickAddTask(acceptedStringAtEnd + " jog"); //test at beginning of task. should not set importance.
assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO);
}
for (String acceptedStringAnywhere : acceptedStringsAnywhere) {
task = new Task();
task.setTitle("Jog " + acceptedStringAnywhere); //test at end of task. should set importance.
taskDao.save(task);
task = taskCreator.basicQuickAddTask("Jog " + acceptedStringAnywhere); //test at end of task. should set importance.
assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO);
task.setTitle(acceptedStringAnywhere + " jog"); //test at beginning of task. should set importance.
taskDao.save(task);
task = taskCreator.basicQuickAddTask(acceptedStringAnywhere + " jog"); //test at beginning of task. should set importance.
assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO);
}
}

@ -32,7 +32,7 @@ public class SubtasksHelperTest extends SubtasksTestCase {
Task t = new Task();
t.setTitle(title);
t.setUuid(uuid);
taskDao.save(t);
taskDao.createNew(t);
}
private void createTasks() {

@ -48,7 +48,7 @@ public class SubtasksMovingTest extends SubtasksTestCase {
private Task createTask(String title) {
Task task = new Task();
task.setTitle(title);
taskDao.save(task);
taskDao.createNew(task);
return task;
}

@ -175,7 +175,7 @@ public class GtasksIndentActionTest extends InjectingTestCase {
private Task taskWithMetadata(long order, int indentation) {
Task newTask = new Task();
taskDao.save(newTask);
taskDao.createNew(newTask);
GoogleTask metadata = new GoogleTask(newTask.getId(), "list");
metadata.setIndent(indentation);
metadata.setOrder(order);
@ -201,7 +201,7 @@ public class GtasksIndentActionTest extends InjectingTestCase {
private Task taskWithoutMetadata() {
Task task = new Task();
taskDao.save(task);
taskDao.createNew(task);
return task;
}
}

@ -115,7 +115,7 @@ public class GtasksMetadataServiceTest extends InjectingTestCase {
private Task taskWithMetadata(String id) {
Task task = new Task();
task.setTitle("cats");
taskDao.save(task);
taskDao.createNew(task);
GoogleTask metadata = new GoogleTask(task.getId(), "");
if (id != null) {
metadata.setRemoteId(id);
@ -132,7 +132,7 @@ public class GtasksMetadataServiceTest extends InjectingTestCase {
private Task taskWithoutMetadata() {
Task task = new Task();
task.setTitle("dogs");
taskDao.save(task);
taskDao.createNew(task);
return task;
}
}

@ -184,7 +184,7 @@ public class GtasksTaskListUpdaterTest extends InjectingTestCase {
private Task createTask(String title, long order, int indent) {
Task task = new Task();
task.setTitle(title);
taskDao.save(task);
taskDao.createNew(task);
GoogleTask metadata = new GoogleTask(task.getId(), "1");
if(order != VALUE_UNSET) {
metadata.setOrder(order);

@ -300,7 +300,7 @@ public class GtasksTaskMovingTest extends InjectingTestCase {
private Task createTask(String title, long order, int indent) {
Task task = new Task();
task.setTitle(title);
taskDao.save(task);
taskDao.createNew(task);
GoogleTask metadata = new GoogleTask(task.getId(), "1");
if(order != VALUE_UNSET) {
metadata.setOrder(order);

@ -23,86 +23,88 @@ public class GoogleTaskSyncAdapterTest {
@Test
public void testMergeDate() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 11)));
Task local = newTask(with(DUE_DATE, new DateTime(2016, 3, 12)));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 11))).getDueDate(), local);
assertEquals(new DateTime(2016, 3, 11, 12, 0).getMillis(), remote.getDueDate().longValue());
assertEquals(
new DateTime(2016, 3, 11, 12, 0).getMillis(),
local.getDueDate().longValue());
}
@Test
public void testMergeTime() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 11)));
Task local = newTask(with(DUE_TIME, new DateTime(2016, 3, 11, 13, 30)));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 11))).getDueDate(), local);
assertEquals(
new DateTime(2016, 3, 11, 13, 30, 1).getMillis(),
remote.getDueDate().longValue());
local.getDueDate().longValue());
}
@Test
public void testDueDateAdjustHideBackwards() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 11)));
Task local = newTask(with(DUE_DATE, new DateTime(2016, 3, 12)), with(HIDE_TYPE, HIDE_UNTIL_DUE));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 11))).getDueDate(), local);
assertEquals(new DateTime(2016, 3, 11).getMillis(), remote.getHideUntil().longValue());
assertEquals(
new DateTime(2016, 3, 11).getMillis(),
local.getHideUntil().longValue());
}
@Test
public void testDueDateAdjustHideForwards() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 14)));
Task local = newTask(with(DUE_DATE, new DateTime(2016, 3, 12)), with(HIDE_TYPE, HIDE_UNTIL_DUE));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 14))).getDueDate(), local);
assertEquals(new DateTime(2016, 3, 14).getMillis(), remote.getHideUntil().longValue());
assertEquals(
new DateTime(2016, 3, 14).getMillis(),
local.getHideUntil().longValue());
}
@Test
public void testDueTimeAdjustHideBackwards() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 11)));
Task local = newTask(with(DUE_TIME, new DateTime(2016, 3, 12, 13, 30)),
with(HIDE_TYPE, HIDE_UNTIL_DUE_TIME));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 11))).getDueDate(), local);
assertEquals(new DateTime(2016, 3, 11, 13, 30, 1).getMillis(), remote.getHideUntil().longValue());
assertEquals(
new DateTime(2016, 3, 11, 13, 30, 1).getMillis(),
local.getHideUntil().longValue());
}
@Test
public void testDueTimeAdjustTimeForwards() {
Task remote = newTask(with(DUE_DATE, new DateTime(2016, 3, 14)));
Task local = newTask(with(DUE_TIME, new DateTime(2016, 3, 12, 13, 30)),
with(HIDE_TYPE, HIDE_UNTIL_DUE_TIME));
mergeDates(remote, local);
mergeDates(newTask(with(DUE_DATE, new DateTime(2016, 3, 14))).getDueDate(), local);
assertEquals(new DateTime(2016, 3, 14, 13, 30, 1).getMillis(), remote.getHideUntil().longValue());
assertEquals(
new DateTime(2016, 3, 14, 13, 30, 1).getMillis(),
local.getHideUntil().longValue());
}
@Test
public void testDueDateClearHide() {
Task remote = newTask();
Task local = newTask(with(DUE_DATE, new DateTime(2016, 3, 12)), with(HIDE_TYPE, HIDE_UNTIL_DUE));
mergeDates(remote, local);
mergeDates(newTask().getDueDate(), local);
assertEquals(0, remote.getHideUntil().longValue());
assertEquals(0, local.getHideUntil().longValue());
}
@Test
public void testDueTimeClearHide() {
Task remote = newTask();
Task local = newTask(with(DUE_TIME, new DateTime(2016, 3, 12, 13, 30)),
with(HIDE_TYPE, HIDE_UNTIL_DUE_TIME));
mergeDates(remote, local);
mergeDates(newTask().getDueDate(), local);
assertEquals(0, remote.getHideUntil().longValue());
assertEquals(0, local.getHideUntil().longValue());
}
}

@ -1,5 +1,7 @@
package com.todoroo.astrid.gtasks;
import org.tasks.data.GoogleTaskList;
import java.util.Collections;
import java.util.List;
@ -12,15 +14,11 @@ public class GtasksListService {
}
public List<GtasksList> getLists() {
public List<GoogleTaskList> getLists() {
return Collections.emptyList();
}
public GtasksList getList(long storeId) {
public GoogleTaskList getList(long storeId) {
return null;
}
public List<GtasksList> getSortedGtasksList() {
return Collections.emptyList();
}
}

@ -3,10 +3,11 @@ package com.todoroo.astrid.gtasks;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.GtasksFilter;
import org.tasks.data.GoogleTaskList;
import org.tasks.tasklist.GtasksListFragment;
public class GtasksSubtaskListFragment extends GtasksListFragment {
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GtasksList list) {
public static TaskListFragment newGtasksSubtaskListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
return null;
}
}

@ -1,27 +1,17 @@
package org.tasks.receivers;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.Task;
import org.tasks.injection.BroadcastComponent;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
public class PushReceiver extends InjectingBroadcastReceiver {
public class PushReceiver {
public static void broadcast(Context context, Task task, ContentValues values) {
}
@Inject
public PushReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
}
@Override
protected void inject(BroadcastComponent component) {
component.inject(this);
public void push(Task task, Task original) {
}
}

@ -3,8 +3,10 @@ package org.tasks.tasklist;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.GtasksFilter;
import org.tasks.data.GoogleTaskList;
public class GtasksListFragment extends TaskListFragment {
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GtasksList list) {
public static TaskListFragment newGtasksListFragment(GtasksFilter gtasksFilter, GoogleTaskList list) {
return null;
}
}

@ -3,6 +3,7 @@ package org.tasks.ui;
import com.todoroo.astrid.data.Task;
import org.tasks.R;
import org.tasks.data.GoogleTaskList;
import org.tasks.injection.FragmentComponent;
public class GoogleTaskListFragment extends TaskEditControlFragment {
@ -23,11 +24,6 @@ public class GoogleTaskListFragment extends TaskEditControlFragment {
return 0;
}
@Override
public void initialize(boolean isNewTask, Task task) {
}
@Override
public void apply(Task task) {
@ -38,7 +34,7 @@ public class GoogleTaskListFragment extends TaskEditControlFragment {
}
public void setList(GtasksList list) {
public void setList(GoogleTaskList list) {
}
}

@ -14,6 +14,8 @@ import org.tasks.data.GoogleTask;
import java.util.ArrayList;
import static org.tasks.gtasks.GoogleTaskSyncAdapter.mergeDates;
public class GtasksTaskContainer {
public final Task task;
@ -43,8 +45,7 @@ public class GtasksTaskContainer {
}
long dueDate = GtasksApiUtilities.gtasksDueTimeToUnixTime(remoteTask.getDue());
long createdDate = Task.createDueDate(Task.URGENCY_SPECIFIC_DAY, dueDate);
task.setDueDate(createdDate);
mergeDates(Task.createDueDate(Task.URGENCY_SPECIFIC_DAY, dueDate), task);
task.setNotes(remoteTask.getNotes());
gtaskMetadata.setRemoteId(remoteTask.getId());

@ -43,7 +43,6 @@ import com.todoroo.astrid.gtasks.api.GtasksInvoker;
import com.todoroo.astrid.gtasks.api.HttpNotFoundException;
import com.todoroo.astrid.gtasks.sync.GtasksSyncService;
import com.todoroo.astrid.gtasks.sync.GtasksTaskContainer;
import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.service.TaskCreator;
import com.todoroo.astrid.utility.Constants;
@ -69,7 +68,6 @@ import javax.inject.Inject;
import timber.log.Timber;
import static com.todoroo.astrid.data.Task.NO_UUID;
import static org.tasks.date.DateTimeUtils.newDateTime;
/**
@ -320,12 +318,15 @@ public class GoogleTaskSyncAdapter extends InjectingAbstractThreadedSyncAdapter
for (com.google.api.services.tasks.model.Task gtask : tasks) {
String remoteId = gtask.getId();
GoogleTask googleTask = getMetadataByGtaskId(remoteId);
Task task = null;
if (googleTask == null) {
googleTask = new GoogleTask(0, "");
} else if (googleTask.getTask() > 0){
task = taskDao.fetch(googleTask.getTask());
}
if (task == null) {
task = taskCreator.createWithValues(null, "");
}
Task task = googleTask.getTask() > 0
? taskDao.fetch(googleTask.getTask())
: taskCreator.createWithValues(null, null);
GtasksTaskContainer container = new GtasksTaskContainer(gtask, task, listId, googleTask);
container.gtaskMetadata.setRemoteOrder(Long.parseLong(gtask.getPosition()));
container.gtaskMetadata.setParent(localIdForGtasksId(gtask.getParent()));
@ -354,23 +355,6 @@ public class GoogleTaskSyncAdapter extends InjectingAbstractThreadedSyncAdapter
}
private void write(GtasksTaskContainer task) {
// merge astrid dates with google dates
if(task.task.isSaved()) {
Task local = taskDao.fetch(task.task.getId());
if (local == null) {
task.task.setId(Task.NO_ID);
task.task.setUuid(NO_UUID);
} else {
mergeDates(task.task, local);
}
} else { // Set default importance and reminders for remotely created tasks
task.task.setImportance(preferences.getIntegerFromString(
R.string.p_default_importance_key, Task.IMPORTANCE_SHOULD_DO)); // TODO: can probably remove this
TaskCreator.setDefaultReminders(preferences, task.task); // TODO: can probably remove this too
task.task.setUuid(UUIDHelper.newUUID());
taskDao.createNew(task.task);
}
if (!TextUtils.isEmpty(task.task.getTitle())) {
task.task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true);
task.task.putTransitory(TaskDao.TRANS_SUPPRESS_REFRESH, true);
@ -418,21 +402,18 @@ public class GoogleTaskSyncAdapter extends InjectingAbstractThreadedSyncAdapter
}
static void mergeDates(Task remote, Task local) {
if (remote.hasDueDate() && local.hasDueTime()) {
public static void mergeDates(long remoteDueDate, Task local) {
if (remoteDueDate > 0 && local.hasDueTime()) {
DateTime oldDate = newDateTime(local.getDueDate());
DateTime newDate = newDateTime(remote.getDueDate())
DateTime newDate = newDateTime(remoteDueDate)
.withHourOfDay(oldDate.getHourOfDay())
.withMinuteOfHour(oldDate.getMinuteOfHour())
.withSecondOfMinute(oldDate.getSecondOfMinute());
local.setDueDateAdjustingHideUntil(
Task.createDueDate(Task.URGENCY_SPECIFIC_DAY_TIME, newDate.getMillis()));
} else {
local.setDueDateAdjustingHideUntil(remote.getDueDate());
local.setDueDateAdjustingHideUntil(remoteDueDate);
}
remote.setHideUntil(local.getHideUntil());
remote.setDueDate(local.getDueDate());
}
@Override

@ -1,38 +1,19 @@
package org.tasks.receivers;
import android.content.Context;
import android.content.Intent;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.Task;
import org.tasks.injection.BroadcastComponent;
import org.tasks.injection.InjectingBroadcastReceiver;
import javax.inject.Inject;
public class PushReceiver extends InjectingBroadcastReceiver {
public static void broadcast(Context context, Task task, Task original) {
Intent intent = new Intent(context, PushReceiver.class);
intent.putExtra(AstridApiConstants.EXTRAS_TASK, task);
intent.putExtra(AstridApiConstants.EXTRAS_ORIGINAL, original);
context.sendBroadcast(intent);
}
@Inject GoogleTaskPusher googleTaskPusher;
public class PushReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
private final GoogleTaskPusher googleTaskPusher;
googleTaskPusher.push(
intent.getParcelableExtra(AstridApiConstants.EXTRAS_TASK),
intent.getParcelableExtra(AstridApiConstants.EXTRAS_ORIGINAL));
@Inject
public PushReceiver(GoogleTaskPusher googleTaskPusher) {
this.googleTaskPusher = googleTaskPusher;
}
@Override
protected void inject(BroadcastComponent component) {
component.inject(this);
public void push(Task task, Task original) {
googleTaskPusher.push(task, original);
}
}

@ -195,8 +195,6 @@
<!-- ======================================================= Receivers = -->
<receiver android:name=".receivers.PushReceiver" />
<!-- widgets -->
<receiver
android:name=".widget.TasksWidget"

@ -444,6 +444,7 @@ public class TaskListActivity extends InjectingAppCompatActivity implements
getSupportFragmentManager().popBackStackImmediate(TaskEditFragment.TAG_TASKEDIT_FRAGMENT, FragmentManager.POP_BACK_STACK_INCLUSIVE);
hideDetailFragment();
hideKeyboard();
getTaskListFragment().loadTaskListContent();
}
private void hideKeyboard() {

@ -37,6 +37,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.core.BuiltInFilterExposer;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.gtasks.GtasksSubtaskListFragment;
import com.todoroo.astrid.service.TaskCreator;
import com.todoroo.astrid.service.TaskDeleter;
import com.todoroo.astrid.service.TaskDuplicator;
@ -393,7 +394,7 @@ public class TaskListFragment extends InjectingFragment implements
* broadcast. Subclasses should override this.
*/
private void refresh() {
loadTaskListContent();
loadTaskListContent(!(this instanceof GtasksSubtaskListFragment));
setSyncOngoing(gtasksPreferenceService.isOngoing());
}

@ -199,7 +199,7 @@ public class TasksXmlImporter {
Task existingTask = taskDao.fetch(currentTask.getUuid());
if (existingTask == null) {
taskDao.save(currentTask);
taskDao.createNew(currentTask);
importCount++;
} else {
skipCount++;

@ -18,6 +18,7 @@ import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.PermaSql;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.helper.UUIDHelper;
import org.tasks.BuildConfig;
import org.tasks.jobs.AfterSaveIntentService;
@ -188,7 +189,12 @@ public abstract class TaskDao {
public void createNew(Task task) {
task.id = null;
task.remoteId = task.getUuid();
if (task.created == 0) {
task.created = now();
}
if (Task.isUuidEmpty(task.remoteId)) {
task.remoteId = UUIDHelper.newUUID();
}
long insert = insert(task);
task.setId(insert);
}

@ -250,7 +250,7 @@ public class Task implements Parcelable {
final int _cursorIndexOfRepeatUntil = _cursor.getColumnIndexOrThrow("repeatUntil");
final int _cursorIndexOfCalendarUri = _cursor.getColumnIndexOrThrow("calendarUri");
final int _cursorIndexOfRemoteId = _cursor.getColumnIndexOrThrow("remoteId");
final int _cursorIndexOfIndent = _cursor.getColumnIndex("index");
final int _cursorIndexOfIndent = _cursor.getColumnIndex("indent");
final int _cursorIndexOfTags = _cursor.getColumnIndex("tags");
final int _cursorIndexOfFileId = _cursor.getColumnIndex("fileId");
if (_cursor.isNull(_cursorIndexOfId)) {
@ -420,6 +420,7 @@ public class Task implements Parcelable {
title = parcel.readString();
remoteId = parcel.readString();
transitoryData = parcel.readHashMap(ContentValues.class.getClassLoader());
googleTaskIndent = parcel.readInt();
}
public long getId() {
@ -877,6 +878,7 @@ public class Task implements Parcelable {
dest.writeString(title);
dest.writeString(remoteId);
dest.writeMap(transitoryData);
dest.writeInt(googleTaskIndent);
}
@Override

@ -8,7 +8,6 @@ import org.tasks.notifications.NotificationClearedReceiver;
import org.tasks.receivers.BootCompletedReceiver;
import org.tasks.receivers.CompleteTaskReceiver;
import org.tasks.receivers.MyPackageReplacedReceiver;
import org.tasks.receivers.PushReceiver;
import org.tasks.widget.TasksWidget;
import dagger.Subcomponent;
@ -29,7 +28,5 @@ public interface BroadcastComponent {
void inject(TasksWidget tasksWidget);
void inject(PushReceiver pushReceiver);
void inject(NotificationClearedReceiver notificationClearedReceiver);
}

@ -52,6 +52,7 @@ public class AfterSaveIntentService extends InjectingJobIntentService {
@Inject ReminderService reminderService;
@Inject RefreshScheduler refreshScheduler;
@Inject LocalBroadcastManager localBroadcastManager;
@Inject PushReceiver pushReceiver;
@Override
protected void onHandleWork(@NonNull Intent intent) {
@ -101,7 +102,7 @@ public class AfterSaveIntentService extends InjectingJobIntentService {
}
}
PushReceiver.broadcast(context, task, original);
pushReceiver.push(task, original);
refreshScheduler.scheduleRefresh(task);
if (!task.checkAndClearTransitory(TRANS_SUPPRESS_REFRESH)) {
localBroadcastManager.broadcastRefresh();

Loading…
Cancel
Save