diff --git a/api/src/com/todoroo/astrid/data/Task.java b/api/src/com/todoroo/astrid/data/Task.java index a8df87e6a..4335b9bf8 100644 --- a/api/src/com/todoroo/astrid/data/Task.java +++ b/api/src/com/todoroo/astrid/data/Task.java @@ -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); diff --git a/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java b/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java index 50dc0cedf..3f2b39677 100644 --- a/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java @@ -208,15 +208,19 @@ public class HideUntilControlSet implements TaskEditControlSet, 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()) {