Task detail for alarms

pull/14/head
Tim Su 16 years ago
parent 5ed1dacdea
commit 294de734cf

@ -44,6 +44,8 @@ public class AlarmService {
// --- data retrieval
public static final String IDENTIFIER = "alarms"; //$NON-NLS-1$
/**
* Return alarms for the given task. PLEASE CLOSE THE CURSOR!
*
@ -73,6 +75,7 @@ public class AlarmService {
metadata.setValue(Alarm.TIME, alarm);
metadata.setValue(Alarm.TYPE, Alarm.TYPE_SINGLE);
service.save(metadata);
scheduleAlarm(metadata);
}
}

@ -3,6 +3,7 @@ package com.todoroo.astrid.core;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.service.AddOnService;
@ -32,6 +33,9 @@ public final class PluginServices {
@Autowired
DialogUtilities dialogUtilities;
@Autowired
DateUtilities dateUtilities;
@Autowired
AddOnService addOnService;
@ -68,4 +72,8 @@ public final class PluginServices {
public static DialogUtilities getDialogUtilities() {
return getInstance().dialogUtilities;
}
public static DateUtilities getDateUtilities() {
return getInstance().dateUtilities;
}
}

@ -74,6 +74,8 @@ public class Notifications extends BroadcastReceiver {
String reminder;
if(type == ReminderService.TYPE_DUE || type == ReminderService.TYPE_OVERDUE)
reminder = getRandomReminder(r.getStringArray(R.array.reminders_due));
else if(type == ReminderService.TYPE_ALARM)
reminder = getRandomReminder(r.getStringArray(R.array.reminders_alarm));
else if(type == ReminderService.TYPE_SNOOZE)
reminder = getRandomReminder(r.getStringArray(R.array.reminders_snooze));
else if(Preferences.getBoolean(R.string.p_rmd_nagging, true))

@ -9,8 +9,13 @@
<!-- Task Edit Activity: Add New Alarn -->
<string name="alarm_ACS_button">Add an Alarm</string>
<!-- Task Detail for Alarms (%s -> time)-->
<string name="alarm_ADE_detail">Next Alarm %s</string>
<!-- Android Notification Title (%s => task name) -->
<string name="alarm_notification">Alarm!</string>
<string-array name="reminders_alarm">
<!-- reminders related to alarm -->
<item>Alarm!</item>
</string-array>
</resources>

@ -39,6 +39,7 @@ import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.SoftHashMap;
import com.todoroo.astrid.activity.TaskEditActivity;
import com.todoroo.astrid.alarms.AlarmDetailExposer;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.DetailExposer;
import com.todoroo.astrid.api.Filter;
@ -85,6 +86,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
new RepeatDetailExposer(),
new NoteDetailExposer(),
new MilkDetailExposer(),
new AlarmDetailExposer(),
};
private static int[] IMPORTANCE_COLORS = null;

@ -17,7 +17,6 @@ import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Functions;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.alarms.AlarmService;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.model.Task;
@ -217,10 +216,8 @@ public class TaskDao extends GenericDao<Task> {
private void afterSave(Task task, ContentValues values) {
if(values.containsKey(Task.COMPLETION_DATE.name) && task.isCompleted())
afterComplete(task, values);
else {
else
ReminderService.getInstance().scheduleAlarm(task);
AlarmService.getInstance().scheduleAlarms(task);
}
Astrid2TaskProvider.notifyDatabaseModification();
ContextManager.getContext().startService(new Intent(ContextManager.getContext(),

Loading…
Cancel
Save