Remove ContentResolver args from GCalHelper

pull/384/head
Alex Baker 10 years ago
parent da9530ba7c
commit 4bc6260d11

@ -34,18 +34,18 @@ public class GCalHelper {
/** If task has no estimated time, how early to set a task in calendar (seconds)*/ /** If task has no estimated time, how early to set a task in calendar (seconds)*/
private static final long DEFAULT_CAL_TIME = DateUtilities.ONE_HOUR; private static final long DEFAULT_CAL_TIME = DateUtilities.ONE_HOUR;
private final Context context;
private final TaskService taskService; private final TaskService taskService;
private final Preferences preferences; private final Preferences preferences;
private final CalendarProvider calendarProvider; private final CalendarProvider calendarProvider;
private final ContentResolver cr;
@Inject @Inject
public GCalHelper(@ForApplication Context context, TaskService taskService, Preferences preferences, public GCalHelper(@ForApplication Context context, TaskService taskService, Preferences preferences,
CalendarProvider calendarProvider) { CalendarProvider calendarProvider) {
this.context = context;
this.taskService = taskService; this.taskService = taskService;
this.preferences = preferences; this.preferences = preferences;
this.calendarProvider = calendarProvider; this.calendarProvider = calendarProvider;
cr = context.getContentResolver();
} }
public String getTaskEventUri(Task task) { public String getTaskEventUri(Task task) {
@ -72,19 +72,18 @@ public class GCalHelper {
private void createTaskEventIfEnabled(Task t, boolean deleteEventIfExists) { private void createTaskEventIfEnabled(Task t, boolean deleteEventIfExists) {
if (preferences.isDefaultCalendarSet()) { if (preferences.isDefaultCalendarSet()) {
ContentResolver cr = context.getContentResolver(); Uri calendarUri = createTaskEvent(t, new ContentValues(), deleteEventIfExists);
Uri calendarUri = createTaskEvent(t, cr, new ContentValues(), deleteEventIfExists);
if (calendarUri != null) { if (calendarUri != null) {
t.setCalendarUri(calendarUri.toString()); t.setCalendarUri(calendarUri.toString());
} }
} }
} }
public Uri createTaskEvent(Task task, ContentResolver cr, ContentValues values) { public Uri createTaskEvent(Task task, ContentValues values) {
return createTaskEvent(task, cr, values, true); return createTaskEvent(task, values, true);
} }
public Uri createTaskEvent(Task task, ContentResolver cr, ContentValues values, boolean deleteEventIfExists) { public Uri createTaskEvent(Task task, ContentValues values, boolean deleteEventIfExists) {
String eventuri = getTaskEventUri(task); String eventuri = getTaskEventUri(task);
if(!TextUtils.isEmpty(eventuri) && deleteEventIfExists) { if(!TextUtils.isEmpty(eventuri) && deleteEventIfExists) {
@ -119,7 +118,7 @@ public class GCalHelper {
return null; return null;
} }
public void rescheduleRepeatingTask(Task task, ContentResolver cr) { public void rescheduleRepeatingTask(Task task) {
String taskUri = getTaskEventUri(task); String taskUri = getTaskEventUri(task);
if (TextUtils.isEmpty(taskUri)) { if (TextUtils.isEmpty(taskUri)) {
return; return;
@ -133,7 +132,7 @@ public class GCalHelper {
ContentValues cv = new ContentValues(); ContentValues cv = new ContentValues();
cv.put(CalendarContract.Events.CALENDAR_ID, calendar.getId()); cv.put(CalendarContract.Events.CALENDAR_ID, calendar.getId());
Uri uri = createTaskEvent(task, cr, cv, false); Uri uri = createTaskEvent(task, cv, false);
task.setCalendarUri(uri.toString()); task.setCalendarUri(uri.toString());
} }
} }
@ -155,7 +154,7 @@ public class GCalHelper {
try { try {
Uri calendarUri = Uri.parse(uri); Uri calendarUri = Uri.parse(uri);
if (calendarProvider.getCalendar(calendarUri) != null) { if (calendarProvider.getCalendar(calendarUri) != null) {
context.getContentResolver().delete(calendarUri, null, null); cr.delete(calendarUri, null, null);
eventDeleted = true; eventDeleted = true;
} }
task.setCalendarUri(""); task.setCalendarUri("");

@ -5,7 +5,6 @@
*/ */
package com.todoroo.astrid.repeats; package com.todoroo.astrid.repeats;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -22,7 +21,6 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.gcal.GCalHelper;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.Flags;
import org.tasks.injection.InjectingBroadcastReceiver; import org.tasks.injection.InjectingBroadcastReceiver;
import org.tasks.time.DateTime; import org.tasks.time.DateTime;
@ -82,7 +80,7 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
return; return;
} }
rescheduleTask(context, gcalHelper, taskService, task, newDueDate); rescheduleTask(gcalHelper, taskService, task, newDueDate);
// send a broadcast // send a broadcast
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_EVENT_TASK_REPEATED); Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_EVENT_TASK_REPEATED);
@ -97,7 +95,7 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
return repeatUntil > 0 && newDateTime(newDueDate).startOfDay().isAfter(newDateTime(repeatUntil).startOfDay()); return repeatUntil > 0 && newDateTime(newDueDate).startOfDay().isAfter(newDateTime(repeatUntil).startOfDay());
} }
public static void rescheduleTask(Context context, GCalHelper gcalHelper, TaskService taskService, Task task, long newDueDate) { public static void rescheduleTask(GCalHelper gcalHelper, TaskService taskService, Task task, long newDueDate) {
long hideUntil = task.getHideUntil(); long hideUntil = task.getHideUntil();
if(hideUntil > 0 && task.getDueDate() > 0) { if(hideUntil > 0 && task.getDueDate() > 0) {
hideUntil += newDueDate - task.getDueDate(); hideUntil += newDueDate - task.getDueDate();
@ -109,8 +107,7 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
task.setHideUntil(hideUntil); task.setHideUntil(hideUntil);
task.putTransitory(TaskService.TRANS_REPEAT_COMPLETE, true); task.putTransitory(TaskService.TRANS_REPEAT_COMPLETE, true);
ContentResolver cr = context.getContentResolver(); gcalHelper.rescheduleRepeatingTask(task);
gcalHelper.rescheduleRepeatingTask(task, cr);
taskService.save(task); taskService.save(task);
} }

@ -1,7 +1,6 @@
package com.todoroo.astrid.service; package com.todoroo.astrid.service;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
@ -9,22 +8,18 @@ import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.gcal.GCalHelper;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.Preferences; import org.tasks.preferences.Preferences;
import javax.inject.Inject; import javax.inject.Inject;
public class TaskCreator { public class TaskCreator {
private final Context context;
private final TaskService taskService; private final TaskService taskService;
private final GCalHelper gcalHelper; private final GCalHelper gcalHelper;
private Preferences preferences; private Preferences preferences;
@Inject @Inject
public TaskCreator(@ForApplication Context context, TaskService taskService, public TaskCreator(TaskService taskService, GCalHelper gcalHelper, Preferences preferences) {
GCalHelper gcalHelper, Preferences preferences) {
this.context = context;
this.taskService = taskService; this.taskService = taskService;
this.gcalHelper = gcalHelper; this.gcalHelper = gcalHelper;
this.preferences = preferences; this.preferences = preferences;
@ -46,8 +41,7 @@ public class TaskCreator {
public void addToCalendar(Task task) { public void addToCalendar(Task task) {
boolean gcalCreateEventEnabled = preferences.isDefaultCalendarSet() && task.hasDueDate(); //$NON-NLS-1$ boolean gcalCreateEventEnabled = preferences.isDefaultCalendarSet() && task.hasDueDate(); //$NON-NLS-1$
if (!TextUtils.isEmpty(task.getTitle()) && gcalCreateEventEnabled && TextUtils.isEmpty(task.getCalendarURI())) { if (!TextUtils.isEmpty(task.getTitle()) && gcalCreateEventEnabled && TextUtils.isEmpty(task.getCalendarURI())) {
Uri calendarUri = gcalHelper.createTaskEvent(task, Uri calendarUri = gcalHelper.createTaskEvent(task, new ContentValues());
context.getContentResolver(), new ContentValues());
task.setCalendarUri(calendarUri.toString()); task.setCalendarUri(calendarUri.toString());
task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true);
taskService.save(task); taskService.save(task);

@ -181,11 +181,10 @@ public class CalendarControlSet extends TaskEditControlFragment {
Timber.e(e, "unable-to-update-calendar: %s", task.getCalendarURI()); Timber.e(e, "unable-to-update-calendar: %s", task.getCalendarURI());
} }
} else if (!isNullOrEmpty(calendarId)) { } else if (!isNullOrEmpty(calendarId)) {
ContentResolver cr = context.getContentResolver();
try{ try{
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
values.put(CalendarContract.Events.CALENDAR_ID, calendarId); values.put(CalendarContract.Events.CALENDAR_ID, calendarId);
Uri uri = gcalHelper.createTaskEvent(task, cr, values); Uri uri = gcalHelper.createTaskEvent(task, values);
if(uri != null) { if(uri != null) {
task.setCalendarUri(uri.toString()); task.setCalendarUri(uri.toString());
// pop up the new event // pop up the new event

Loading…
Cancel
Save