Killed the filters header, moved not in a list under the lists heading

pull/14/head
Sam Bosley 13 years ago
parent aead7c1039
commit 6f8bb86357

@ -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<StoreObject> 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);

@ -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<FilterListItem> list = new ArrayList<FilterListItem>();
// --- 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;
}

@ -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<TagData> 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();
}
};

Loading…
Cancel
Save