Merge pull request #76 from sbosley/110829_sb_hide_until_due_time

Hide until due time
pull/14/head
sbosley 14 years ago
commit 0cc1a79fd1

@ -428,7 +428,7 @@ public final class Task extends RemoteModel {
return date;
Date hideUntil = new Date(date / 1000L * 1000L); // get rid of millis
if(setting != HIDE_UNTIL_SPECIFIC_DAY_TIME) {
if(setting != HIDE_UNTIL_SPECIFIC_DAY_TIME && !(setting == HIDE_UNTIL_DUE && this.hasDueTime())) {
hideUntil.setHours(0);
hideUntil.setMinutes(0);
hideUntil.setSeconds(0);

@ -377,7 +377,8 @@ public final class TaskEditActivity extends TabActivity {
R.id.reminder_due, R.id.reminder_overdue, R.id.reminder_alarm));
controls.add(new RandomReminderControlSet(TaskEditActivity.this,
R.id.reminder_random, R.id.reminder_random_interval));
controls.add(new HideUntilControlSet(TaskEditActivity.this, R.id.hideUntil));
HideUntilControlSet hideUntilControls = new HideUntilControlSet(TaskEditActivity.this, R.id.hideUntil);
controls.add(hideUntilControls);
controls.add(peopleControlSet = new EditPeopleControlSet(
TaskEditActivity.this, REQUEST_LOG_IN));
@ -385,6 +386,9 @@ public final class TaskEditActivity extends TabActivity {
synchronized(controls) {
for(TaskEditControlSet controlSet : controls)
controlSet.readFromTask(model);
if (isNewTask) {
hideUntilControls.setDefaults();
}
}
}

@ -15,6 +15,7 @@ import android.widget.TimePicker;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.activity.TaskEditActivity.TaskEditControlSet;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.ui.DeadlineTimePickerDialog.OnDeadlineTimeSetListener;
@ -203,20 +204,30 @@ public class HideUntilControlSet implements TaskEditControlSet,
// --- setting up values
public void setDefaults() {
int setting = Preferences.getIntegerFromString(R.string.p_default_hideUntil_key,
Task.HIDE_UNTIL_NONE);
spinner.setSelection(setting);
}
@Override
public void readFromTask(Task task) {
long date = task.getValue(Task.HIDE_UNTIL);
Date dueDay = new Date(task.getValue(Task.DUE_DATE)/1000L*1000L);
dueDay.setHours(0);
dueDay.setMinutes(0);
dueDay.setSeconds(0);
// For the hide until due case, we need the time component
long dueTime = task.hasDueTime() ? task.getValue(Task.DUE_DATE)/1000L*1000L : dueDay.getTime();
int selection = 0;
if(date == 0) {
selection = 0;
date = 0;
} else if(date == dueDay.getTime()) {
} else if(date == dueTime) {
selection = 1;
date = 0;
} else if(date + DateUtilities.ONE_DAY == dueDay.getTime()) {

Loading…
Cancel
Save