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