From 7f850e83877af00d6b41a4d4db6adb662bd050b2 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 24 Feb 2014 08:43:54 -0600 Subject: [PATCH] Remove completed tasks from widget Closes #64 --- .../java/org/tasks/scheduling/RefreshScheduler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java b/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java index a21ef4cdd..4aef29621 100644 --- a/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java +++ b/astrid/src/main/java/org/tasks/scheduling/RefreshScheduler.java @@ -5,7 +5,6 @@ import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.util.Log; import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.TodorooCursor; @@ -18,10 +17,10 @@ import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; -import org.joda.time.DateTime; import org.tasks.Broadcaster; import static android.app.PendingIntent.FLAG_UPDATE_CURRENT; +import static com.todoroo.andlib.utility.DateUtilities.ONE_MINUTE; import static org.tasks.date.DateTimeUtils.currentTimeMillis; public class RefreshScheduler extends BroadcastReceiver { @@ -69,9 +68,16 @@ public class RefreshScheduler extends BroadcastReceiver { if (task.containsValue(Task.HIDE_UNTIL)) { scheduleRefresh(task.getHideUntil()); } + if (task.containsValue(Task.COMPLETION_DATE)) { + scheduleRefresh(task.getCompletionDate() + ONE_MINUTE); + } } private void scheduleRefresh(Long dueDate) { + if (currentTimeMillis() > dueDate) { + return; + } + dueDate += 1000; // this is ghetto Context context = ContextManager.getContext(); Intent intent = new Intent(context, RefreshScheduler.class);