Show recently completed tasks. Unfortunately, completed tasks will still jump to the bottom of the list due to sort

pull/14/head
Tim Su 15 years ago
parent 597c2ea67f
commit 252beae2ef

@ -8,6 +8,7 @@ import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Paint;
import android.os.IBinder; import android.os.IBinder;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import android.util.Log; import android.util.Log;
@ -19,6 +20,7 @@ import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.ShortcutActivity; import com.todoroo.astrid.activity.ShortcutActivity;
@ -279,9 +281,12 @@ public class PowerWidget extends AppWidgetProvider {
int sort = Preferences.getInt(SortSelectionActivity.PREF_SORT_SORT, 0); int sort = Preferences.getInt(SortSelectionActivity.PREF_SORT_SORT, 0);
String query = SortSelectionActivity.adjustQueryForFlagsAndSort( String query = SortSelectionActivity.adjustQueryForFlagsAndSort(
filter.sqlQuery, flags, sort); filter.sqlQuery, flags, sort);
query = query.replace(Task.COMPLETION_DATE.eq(0).toString(), Criterion.or(Task.COMPLETION_DATE.eq(0),
Task.COMPLETION_DATE.gt(DateUtilities.now() - 60000L)).toString());
database.openForReading(); database.openForReading();
cursor = taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.IMPORTANCE); cursor = taskService.fetchFiltered(query, null, Task.ID, Task.TITLE,
Task.DUE_DATE, Task.IMPORTANCE, Task.COMPLETION_DATE);
// adjust bounds of scrolling // adjust bounds of scrolling
if (scrollOffset < 0){ if (scrollOffset < 0){
@ -298,7 +303,10 @@ public class PowerWidget extends AppWidgetProvider {
String textContent = ""; String textContent = "";
int titleColor = textColor; int titleColor = textColor;
int dueString = R.string.PPW_due; int dueString = R.string.PPW_due;
if(task.hasDueDate() && task.getValue(Task.DUE_DATE) < DateUtilities.now()){ if(task.isCompleted()) {
titleColor = context.getResources().getColor(R.color.task_list_done);
dueString = 0;
} else if(task.hasDueDate() && task.getValue(Task.DUE_DATE) < DateUtilities.now()){
titleColor = overdueColor; titleColor = overdueColor;
dueString = R.string.PPW_past_due; dueString = R.string.PPW_past_due;
} }
@ -333,6 +341,8 @@ public class PowerWidget extends AppWidgetProvider {
// set click listener for checkbox // set click listener for checkbox
taskLine.setOnClickPendingIntent(R.id.checkbox, pMarkCompleteIntent); taskLine.setOnClickPendingIntent(R.id.checkbox, pMarkCompleteIntent);
// set task title // set task title
if(task.isCompleted())
taskLine.setInt(R.id.task_title, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG);
taskLine.setTextViewText(R.id.task_title, textContent); taskLine.setTextViewText(R.id.task_title, textContent);
taskLine.setTextColor(R.id.task_title, titleColor); taskLine.setTextColor(R.id.task_title, titleColor);
// set due date // set due date

Loading…
Cancel
Save