diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java index 13fb621ad..5a720956e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java @@ -29,7 +29,6 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Field; -import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.Query; import com.todoroo.astrid.activity.TaskListActivity; @@ -139,8 +138,9 @@ public class CustomFilterActivity extends ListActivity { Query.select(Task.ID).from(Task.TABLE).where( Criterion.and( TaskCriteria.activeAndVisible(), - Task.DUE_DATE.gt(Functions.caseStatement(Field.field("?").eq(0), - -1, 0)), + Criterion.or( + Field.field("?").eq(0), + Task.DUE_DATE.gt(0)), Task.DUE_DATE.lte("?"))).toString(), values, r.getStringArray(R.array.CFC_dueBefore_entries), entryValues, ((BitmapDrawable)r.getDrawable(R.drawable.tango_calendar)).getBitmap(), diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java index 70440825d..6dc5c84fe 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java @@ -66,6 +66,8 @@ public class FilterListActivity extends ExpandableListActivity { private static final int CONTEXT_MENU_SHORTCUT = Menu.FIRST + 2; private static final int CONTEXT_MENU_INTENT = Menu.FIRST + 3; + private static final int REQUEST_CUSTOM_INTENT = 1; + // --- instance variables @Autowired @@ -346,7 +348,7 @@ public class FilterListActivity extends ExpandableListActivity { case CONTEXT_MENU_INTENT: { Intent intent = item.getIntent(); - startActivity(intent); + startActivityForResult(intent, REQUEST_CUSTOM_INTENT); return true; } } @@ -402,7 +404,8 @@ public class FilterListActivity extends ExpandableListActivity { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode != RESULT_CANCELED) - adapter.getLists(); + adapter.clear(); + // will get lists automatically super.onActivityResult(requestCode, resultCode, data); } diff --git a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java index abe291c6e..de48f5274 100644 --- a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java @@ -272,7 +272,6 @@ public class FilterAdapter extends BaseExpandableListAdapter { * can then add lists to this activity */ public void getLists() { - clear(); Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_REQUEST_FILTERS); activity.sendOrderedBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); }