mirror of https://github.com/tasks/tasks
Introduced a filter mode spec to replace TLA subclasses. Unfinished
parent
d75649702a
commit
f1cffcc704
@ -0,0 +1,53 @@
|
|||||||
|
package com.todoroo.astrid.people;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.todoroo.astrid.activity.FilterListFragment;
|
||||||
|
import com.todoroo.astrid.activity.FilterModeSpec;
|
||||||
|
import com.todoroo.astrid.activity.TaskListFragment;
|
||||||
|
import com.todoroo.astrid.api.Filter;
|
||||||
|
import com.todoroo.astrid.api.FilterListItem;
|
||||||
|
import com.todoroo.astrid.api.FilterWithUpdate;
|
||||||
|
import com.todoroo.astrid.helper.AsyncImageView;
|
||||||
|
import com.todoroo.astrid.ui.MainMenuPopover;
|
||||||
|
|
||||||
|
public class PeopleFilterMode implements FilterModeSpec {
|
||||||
|
|
||||||
|
private AsyncImageView imageView;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Filter getDefaultFilter(Context context) {
|
||||||
|
Filter defaultFilter = PeopleFilterExposer.mySharedTasks(context);
|
||||||
|
return defaultFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<? extends FilterListFragment> getFilterListClass() {
|
||||||
|
return PeopleListFragment.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFilterItemClickedCallback(FilterListItem item) {
|
||||||
|
if (imageView == null)
|
||||||
|
return;
|
||||||
|
if (item instanceof FilterWithUpdate)
|
||||||
|
imageView.setUrl(((FilterWithUpdate) item).imageUrl);
|
||||||
|
else
|
||||||
|
imageView.setUrl(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImageView(AsyncImageView imageView) {
|
||||||
|
this.imageView = imageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getForbiddenMenuItems() {
|
||||||
|
return FORBIDDEN_MENU_ITEMS;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final int[] FORBIDDEN_MENU_ITEMS = {
|
||||||
|
TaskListFragment.MENU_NEW_FILTER_ID,
|
||||||
|
TaskListFragment.MENU_ADDONS_ID,
|
||||||
|
MainMenuPopover.MAIN_MENU_ITEM_FRIENDS
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,80 +0,0 @@
|
|||||||
package com.todoroo.astrid.people;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
|
|
||||||
import com.timsu.astrid.R;
|
|
||||||
import com.todoroo.andlib.utility.AndroidUtilities;
|
|
||||||
import com.todoroo.astrid.activity.FilterListFragment;
|
|
||||||
import com.todoroo.astrid.activity.TaskListActivity;
|
|
||||||
import com.todoroo.astrid.activity.TaskListFragment;
|
|
||||||
import com.todoroo.astrid.api.Filter;
|
|
||||||
import com.todoroo.astrid.api.FilterListItem;
|
|
||||||
import com.todoroo.astrid.api.FilterWithUpdate;
|
|
||||||
import com.todoroo.astrid.helper.AsyncImageView;
|
|
||||||
import com.todoroo.astrid.ui.MainMenuPopover;
|
|
||||||
|
|
||||||
public class PeopleViewActivity extends TaskListActivity {
|
|
||||||
|
|
||||||
private AsyncImageView imageView;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
imageView = (AsyncImageView) findViewById(R.id.person_image);
|
|
||||||
imageView.setDefaultImageResource(R.drawable.icn_default_person_image);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getContentView() {
|
|
||||||
return R.layout.people_view_wrapper_activity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Filter getDefaultFilter() {
|
|
||||||
Filter defaultFilter = PeopleFilterExposer.mySharedTasks(this);
|
|
||||||
return defaultFilter;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Class<? extends FilterListFragment> getFilterListClass() {
|
|
||||||
return PeopleListFragment.class;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getHeaderView() {
|
|
||||||
return R.layout.header_people_view;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onFilterItemClicked(FilterListItem item) {
|
|
||||||
boolean result = super.onFilterItemClicked(item);
|
|
||||||
if (result && item instanceof FilterWithUpdate)
|
|
||||||
imageView.setUrl(((FilterWithUpdate) item).imageUrl);
|
|
||||||
else
|
|
||||||
imageView.setUrl(null);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final int[] FORBIDDEN_MENU_ITEMS = {
|
|
||||||
TaskListFragment.MENU_NEW_FILTER_ID,
|
|
||||||
TaskListFragment.MENU_ADDONS_ID,
|
|
||||||
MainMenuPopover.MAIN_MENU_ITEM_FRIENDS
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean shouldAddMenuItem(int itemId) {
|
|
||||||
return AndroidUtilities.indexOf(FORBIDDEN_MENU_ITEMS, itemId) < 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void mainMenuItemSelected(int item, Intent customIntent) {
|
|
||||||
if (item == MainMenuPopover.MAIN_MENU_ITEM_LISTS) {
|
|
||||||
finish();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
super.mainMenuItemSelected(item, customIntent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.todoroo.astrid.activity;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.todoroo.astrid.api.Filter;
|
||||||
|
import com.todoroo.astrid.api.FilterListItem;
|
||||||
|
|
||||||
|
|
||||||
|
public interface FilterModeSpec {
|
||||||
|
|
||||||
|
public int[] getForbiddenMenuItems();
|
||||||
|
public Class<? extends FilterListFragment> getFilterListClass();
|
||||||
|
public Filter getDefaultFilter(Context context);
|
||||||
|
public void onFilterItemClickedCallback(FilterListItem item);
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue