From 6f8bb86357db8e015f4cdefccdde28be0e688781 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 5 Jan 2012 16:46:08 -0800 Subject: [PATCH] Killed the filters header, moved not in a list under the lists heading --- .../astrid/core/CustomFilterExposer.java | 21 ++----------- .../todoroo/astrid/tags/TagFilterExposer.java | 21 +++++++++---- .../astrid/activity/TaskListActivity.java | 30 ++++--------------- 3 files changed, 24 insertions(+), 48 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java index f9067f4b7..95e7a3631 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java @@ -29,7 +29,6 @@ import com.todoroo.astrid.activity.FilterListActivity; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.Filter; -import com.todoroo.astrid.api.FilterCategory; import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.dao.StoreObjectDao; @@ -38,7 +37,6 @@ import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao.TaskCriteria; import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.service.TagDataService; -import com.todoroo.astrid.tags.TagService; /** * Exposes Astrid's built in filters to the {@link FilterListActivity} @@ -69,11 +67,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr Resources r = context.getResources(); Filter[] savedFilters = buildSavedFilters(context, r); - FilterCategory heading = new FilterCategory(r.getString(R.string.BFE_Saved), savedFilters); - - FilterListItem[] list = new FilterListItem[1]; - list[0] = heading; - return list; + return savedFilters; } private Filter[] buildSavedFilters(Context context, Resources r) { @@ -81,7 +75,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr TodorooCursor cursor = dao.query(Query.select(StoreObject.PROPERTIES).where( StoreObject.TYPE.eq(SavedFilter.TYPE)).orderBy(Order.asc(SavedFilter.NAME))); try { - Filter[] list = new Filter[cursor.getCount() + 4]; + Filter[] list = new Filter[cursor.getCount() + 3]; // stock filters String todayTitle = AndroidUtilities.capitalize(r.getString(R.string.today)); @@ -106,17 +100,8 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr list[2] = getAssignedByMeFilter(r); - int untaggedLabel = gtasksPreferenceService.isLoggedIn() ? - R.string.tag_FEx_untagged_w_astrid : R.string.tag_FEx_untagged; - list[3] = new Filter(r.getString(untaggedLabel), - r.getString(R.string.tag_FEx_untagged), - TagService.untaggedTemplate(), - null);; - list[3].listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.gl_lists)).getBitmap(); - - StoreObject savedFilter = new StoreObject(); - for(int i = 4; i < list.length; i++) { + for(int i = 3; i < list.length; i++) { cursor.moveToNext(); savedFilter.readFromCursor(cursor); list[i] = SavedFilter.load(savedFilter); diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java index 3774d5e20..d232548b2 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagFilterExposer.java @@ -14,6 +14,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; import android.graphics.Color; +import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.widget.EditText; import android.widget.Toast; @@ -127,7 +128,6 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE ArrayList list = new ArrayList(); - // --- untagged addTags(list); // transmit filter list @@ -142,12 +142,23 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE } private FilterCategory filterFromTags(Tag[] tags, int name) { - Filter[] filters = new Filter[tags.length]; - Resources r = ContextManager.getContext().getResources(); + Filter[] filters = new Filter[tags.length + 1]; Context context = ContextManager.getContext(); - for(int i = 0; i < tags.length; i++) - filters[i] = filterFromTag(context, tags[i], TaskCriteria.activeAndVisible()); + Resources r = context.getResources(); + + // --- untagged + int untaggedLabel = gtasksPreferenceService.isLoggedIn() ? + R.string.tag_FEx_untagged_w_astrid : R.string.tag_FEx_untagged; + Filter untagged = new Filter(r.getString(untaggedLabel), + r.getString(R.string.tag_FEx_untagged), + TagService.untaggedTemplate(), + null); + untagged.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.gl_lists)).getBitmap(); + filters[0] = untagged; + + for(int i = 1; i < tags.length; i++) + filters[i] = filterFromTag(context, tags[i - 1], TaskCriteria.activeAndVisible()); FilterCategory filter = new FilterCategory(context.getString(name), filters); return filter; } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 200d9d3ef..7dedbb256 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -65,9 +65,7 @@ import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; -import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Functions; -import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; @@ -84,7 +82,6 @@ import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener; import com.todoroo.astrid.adapter.TaskAdapter.ViewHolder; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.Filter; -import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.api.SyncAction; import com.todoroo.astrid.api.TaskAction; @@ -96,7 +93,6 @@ import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.data.Metadata; -import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.helper.MetadataHelper; @@ -113,7 +109,6 @@ import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.service.UpgradeService; -import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Flags; @@ -769,27 +764,12 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, DialogInterface.OnClickListener okListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - String nameLike = "%" + assignedEmail + "%"; - TodorooCursor c = tagDataService.query(Query.select(TagData.NAME, TagData.TASK_COUNT, TagData.REMOTE_ID).where(Criterion.and( - Functions.bitwiseAnd(TagData.FLAGS, TagData.FLAG_EMERGENT).gt(0), TagData.MEMBERS.like(nameLike)))); - try { - if (c.getCount() > 0) { - c.moveToFirst(); - TagData tagData = new TagData(c); - FilterWithCustomIntent emergentTagFilter = (FilterWithCustomIntent) TagFilterExposer.filterFromTagData(TaskListActivity.this, tagData); - emergentTagFilter.start(TaskListActivity.this, 0); - } else { - Filter assignedFilter = CustomFilterExposer.getAssignedByMeFilter(getResources()); - - Intent intent = new Intent(TaskListActivity.this, TaskListActivity.class); - intent.putExtra(TaskListActivity.TOKEN_FILTER, assignedFilter); - intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true); - startActivityForResult(intent, 0); - } - } finally { - c.close(); - } + Filter assignedFilter = CustomFilterExposer.getAssignedByMeFilter(getResources()); + Intent intent = new Intent(TaskListActivity.this, TaskListActivity.class); + intent.putExtra(TaskListActivity.TOKEN_FILTER, assignedFilter); + intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true); + startActivityForResult(intent, 0); transitionForTaskEdit(); } };