Reschedule alarms in repeat task complete listener

pull/14/head
Sam Bosley 14 years ago
parent 5c9f3ddbf6
commit 43439d835d

@ -34,6 +34,7 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
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.reminders.ReminderService;
import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Flags;
@ -82,6 +83,8 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
task.setValue(Task.HIDE_UNTIL, hideUntil); task.setValue(Task.HIDE_UNTIL, hideUntil);
Flags.set(Flags.ACTFM_REPEATED_TASK); Flags.set(Flags.ACTFM_REPEATED_TASK);
PluginServices.getTaskService().save(task); PluginServices.getTaskService().save(task);
ReminderService.getInstance().clearAllAlarms(task);
ReminderService.getInstance().scheduleAlarm(task);
return; return;
} }
@ -114,6 +117,9 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
GCalHelper.deleteTaskEvent(task); GCalHelper.deleteTaskEvent(task);
PluginServices.getTaskService().save(task); PluginServices.getTaskService().save(task);
ReminderService.getInstance().clearAllAlarms(task);
ReminderService.getInstance().scheduleAlarm(clone);
// send a broadcast // send a broadcast
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_EVENT_TASK_REPEATED); Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_EVENT_TASK_REPEATED);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, clone.getId()); broadcastIntent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, clone.getId());

Loading…
Cancel
Save