Remove filter selection, leftover filter api

pull/253/head
Alex Baker 11 years ago
parent 3d3d32e28e
commit 831bcdd9be

@ -68,20 +68,6 @@ public class AstridApiConstants {
*/ */
public static final String EXTRAS_NEW_DUE_DATE = "newDueDate"; public static final String EXTRAS_NEW_DUE_DATE = "newDueDate";
// --- Filters API
/**
* Action name for broadcast intent requesting filters
*/
public static final String BROADCAST_REQUEST_FILTERS = API_PACKAGE + ".REQUEST_FILTERS";
/**
* Action name for broadcast intent sending filters back to Astrid
* <li> EXTRAS_ADDON your add-on identifier </li>
* <li> EXTRAS_RESPONSE an array of {@link FilterListItem}s </li>
*/
public static final String BROADCAST_SEND_FILTERS = API_PACKAGE + ".SEND_FILTERS";
// -- Custom criteria API // -- Custom criteria API
/** /**

@ -244,14 +244,6 @@
<!-- ========================================================= Plugins = --> <!-- ========================================================= Plugins = -->
<!-- core -->
<receiver android:name="com.todoroo.astrid.core.CoreFilterExposer">
<intent-filter android:priority="9000">
<action android:name="org.tasks.REQUEST_FILTERS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<activity <activity
android:name="com.todoroo.astrid.core.DefaultsPreferences" android:name="com.todoroo.astrid.core.DefaultsPreferences"
android:theme="@android:style/Theme" android:theme="@android:style/Theme"
@ -274,13 +266,6 @@
android:theme="@android:style/Theme.Translucent.NoTitleBar"/> android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<!-- tags --> <!-- tags -->
<receiver android:name="com.todoroo.astrid.tags.TagFilterExposer">
<intent-filter>
<action android:name="org.tasks.REQUEST_FILTERS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name="com.todoroo.astrid.tags.TagCustomFilterCriteriaExposer"> <receiver android:name="com.todoroo.astrid.tags.TagCustomFilterCriteriaExposer">
<intent-filter> <intent-filter>
<action android:name="org.tasks.REQUEST_CUSTOM_FILTER_CRITERIA" /> <action android:name="org.tasks.REQUEST_CUSTOM_FILTER_CRITERIA" />
@ -289,13 +274,6 @@
</receiver> </receiver>
<!-- custom filters --> <!-- custom filters -->
<receiver android:name="com.todoroo.astrid.core.CustomFilterExposer">
<intent-filter android:priority="9000">
<action android:name="org.tasks.REQUEST_FILTERS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<activity <activity
android:name="com.todoroo.astrid.core.CustomFilterActivity" android:name="com.todoroo.astrid.core.CustomFilterActivity"
android:theme="@style/Tasks.Dialog" /> android:theme="@style/Tasks.Dialog" />
@ -348,13 +326,6 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<receiver android:name="com.todoroo.astrid.gtasks.GtasksFilterExposer">
<intent-filter>
<action android:name="org.tasks.REQUEST_FILTERS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<activity <activity
android:name="com.todoroo.astrid.gtasks.GtasksPreferences" android:name="com.todoroo.astrid.gtasks.GtasksPreferences"
android:theme="@android:style/Theme" android:theme="@android:style/Theme"
@ -471,13 +442,6 @@
<activity android:name="com.todoroo.astrid.files.FileExplore" /> <activity android:name="com.todoroo.astrid.files.FileExplore" />
<receiver android:name="com.todoroo.astrid.timers.TimerFilterExposer">
<intent-filter android:priority="10000">
<action android:name="org.tasks.REQUEST_FILTERS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name="com.todoroo.astrid.timers.TimerTaskCompleteListener"> <receiver android:name="com.todoroo.astrid.timers.TimerTaskCompleteListener">
<intent-filter> <intent-filter>
<action android:name="org.tasks.TASK_COMPLETED" /> <action android:name="org.tasks.TASK_COMPLETED" />

@ -48,8 +48,6 @@ public class TagViewFragment extends TaskListFragment {
@Inject TagDataDao tagDataDao; @Inject TagDataDao tagDataDao;
protected View taskListView;
private boolean dataLoaded = false; private boolean dataLoaded = false;
// --- UI initialization // --- UI initialization

@ -46,7 +46,7 @@ public class FilterShortcutActivity extends InjectingListActivity {
// set up ui // set up ui
adapter = new FilterAdapter(injector, filterCounter, this, getListView(), adapter = new FilterAdapter(injector, filterCounter, this, getListView(),
R.layout.filter_adapter_row, true, true); R.layout.filter_adapter_row, true);
adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget; adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget;
setListAdapter(adapter); setListAdapter(adapter);

@ -10,8 +10,6 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Color; import android.graphics.Color;
import android.os.Parcelable; import android.os.Parcelable;
import android.text.TextUtils; import android.text.TextUtils;
@ -20,11 +18,9 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.astrid.activity.AstridActivity; import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
@ -33,21 +29,21 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.core.CustomFilterExposer;
import com.todoroo.astrid.gtasks.GtasksFilterExposer;
import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.timers.TimerFilterExposer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.tasks.R; import org.tasks.R;
import org.tasks.filters.FilterCounter; import org.tasks.filters.FilterCounter;
import org.tasks.injection.Injector; import org.tasks.injection.Injector;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class FilterAdapter extends ArrayAdapter<Filter> { public class FilterAdapter extends ArrayAdapter<Filter> {
private static final Logger log = LoggerFactory.getLogger(FilterAdapter.class);
// --- style constants // --- style constants
public int filterStyle = R.style.TextAppearance_FLA_Filter; public int filterStyle = R.style.TextAppearance_FLA_Filter;
@ -66,9 +62,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
/** display metrics for scaling icons */ /** display metrics for scaling icons */
protected final DisplayMetrics metrics = new DisplayMetrics(); protected final DisplayMetrics metrics = new DisplayMetrics();
/** receiver for new filters */
protected final FilterReceiver filterReceiver = new FilterReceiver();
private final FilterListUpdateReceiver filterListUpdateReceiver = new FilterListUpdateReceiver(); private final FilterListUpdateReceiver filterListUpdateReceiver = new FilterListUpdateReceiver();
/** row layout to inflate */ /** row layout to inflate */
@ -80,11 +73,8 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
/** whether to skip Filters that launch intents instead of being real filters */ /** whether to skip Filters that launch intents instead of being real filters */
private final boolean skipIntentFilters; private final boolean skipIntentFilters;
/** whether rows are selectable */
private final boolean selectable;
public FilterAdapter(Injector injector, FilterCounter filterCounter, Activity activity, ListView listView, public FilterAdapter(Injector injector, FilterCounter filterCounter, Activity activity, ListView listView,
int rowLayout, boolean skipIntentFilters, boolean selectable) { int rowLayout, boolean skipIntentFilters) {
super(activity, 0); super(activity, 0);
this.injector = injector; this.injector = injector;
this.filterCounter = filterCounter; this.filterCounter = filterCounter;
@ -92,7 +82,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
this.listView = listView; this.listView = listView;
this.layout = rowLayout; this.layout = rowLayout;
this.skipIntentFilters = skipIntentFilters; this.skipIntentFilters = skipIntentFilters;
this.selectable = selectable;
inflater = (LayoutInflater) activity.getSystemService( inflater = (LayoutInflater) activity.getSystemService(
Context.LAYOUT_INFLATER_SERVICE); Context.LAYOUT_INFLATER_SERVICE);
@ -100,12 +89,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
} }
private void offerFilter(final Filter filter) {
if(selectable && selection == null) {
setSelection(filter);
}
}
@Override @Override
public boolean hasStableIds() { public boolean hasStableIds() {
return true; return true;
@ -116,7 +99,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
super.add(item); super.add(item);
// load sizes // load sizes
filterCounter.registerFilter(item); filterCounter.registerFilter(item);
offerFilter(item);
notifyDataSetChanged(); notifyDataSetChanged();
} }
@ -170,7 +152,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
ViewHolder viewHolder = new ViewHolder(); ViewHolder viewHolder = new ViewHolder();
viewHolder.view = convertView; viewHolder.view = convertView;
viewHolder.name = (TextView)convertView.findViewById(R.id.name); viewHolder.name = (TextView)convertView.findViewById(R.id.name);
viewHolder.selected = (ImageView)convertView.findViewById(R.id.selected);
viewHolder.size = (TextView)convertView.findViewById(R.id.size); viewHolder.size = (TextView)convertView.findViewById(R.id.size);
viewHolder.decoration = null; viewHolder.decoration = null;
convertView.setTag(viewHolder); convertView.setTag(viewHolder);
@ -182,7 +163,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
public FilterListItem item; public FilterListItem item;
public TextView name; public TextView name;
public TextView size; public TextView size;
public ImageView selected;
public View view; public View view;
public View decoration; public View decoration;
} }
@ -247,81 +227,43 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
} }
} }
/** protected void populateFiltersToAdapter(AstridFilterExposer astridFilterExposer) {
* Receiver which receives intents to add items to the filter list Parcelable[] filters = astridFilterExposer.getFilters(injector);
* if (filters == null) {
* @author Tim Su <tim@todoroo.com> return;
*
*/
public class FilterReceiver extends BroadcastReceiver {
private final List<ResolveInfo> filterExposerList;
public FilterReceiver() {
// query astrids AndroidManifest.xml for all registered default-receivers to expose filters
PackageManager pm = ContextManager.getContext().getPackageManager();
filterExposerList = pm.queryBroadcastReceivers(
new Intent(AstridApiConstants.BROADCAST_REQUEST_FILTERS),
PackageManager.MATCH_DEFAULT_ONLY);
} }
@Override for (Parcelable item : filters) {
public void onReceive(Context context, Intent intent) { FilterListItem filter = (FilterListItem) item;
try { if(skipIntentFilters && !(filter instanceof Filter)) {
for (ResolveInfo filterExposerInfo : filterExposerList) { continue;
String className = filterExposerInfo.activityInfo.name;
AstridFilterExposer filterExposer;
filterExposer = (AstridFilterExposer) Class.forName(className, true, FilterAdapter.class.getClassLoader()).newInstance();
if (filterExposer != null) {
populateFiltersToAdapter(filterExposer.getFilters(injector));
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
} }
}
protected void populateFiltersToAdapter(final Parcelable[] filters) { if (filter instanceof Filter){
if (filters == null) { addOrLookup((Filter) filter);
return;
} }
}
for (Parcelable item : filters) { filterCounter.refreshFilterCounts(new Runnable() {
FilterListItem filter = (FilterListItem) item; @Override
if(skipIntentFilters && !(filter instanceof Filter)) { public void run() {
continue; notifyDataSetChanged();
}
if (filter instanceof Filter){
addOrLookup((Filter) filter);
}
} }
});
filterCounter.refreshFilterCounts(new Runnable() {
@Override
public void run() {
notifyDataSetChanged();
}
});
}
} }
/**
* Broadcast a request for lists. The request is sent to every
* application registered to listen for this broadcast. Each application
* can then add lists to this activity
*/
public void getLists() { public void getLists() {
filterReceiver.onReceive(activity, null); populateFiltersToAdapter(new CoreFilterExposer());
populateFiltersToAdapter(new TimerFilterExposer());
populateFiltersToAdapter(new CustomFilterExposer());
populateFiltersToAdapter(new TagFilterExposer());
populateFiltersToAdapter(new GtasksFilterExposer());
} }
/** /**
* Call this method from your activity's onResume() method * Call this method from your activity's onResume() method
*/ */
public void registerRecevier() { public void registerRecevier() {
IntentFilter regularFilter = new IntentFilter(AstridApiConstants.BROADCAST_SEND_FILTERS);
regularFilter.setPriority(2);
activity.registerReceiver(filterReceiver, regularFilter);
activity.registerReceiver(filterListUpdateReceiver, new IntentFilter(AstridApiConstants.BROADCAST_EVENT_FILTER_LIST_UPDATED)); activity.registerReceiver(filterListUpdateReceiver, new IntentFilter(AstridApiConstants.BROADCAST_EVENT_FILTER_LIST_UPDATED));
getLists(); getLists();
@ -332,7 +274,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
* Call this method from your activity's onResume() method * Call this method from your activity's onResume() method
*/ */
public void unregisterRecevier() { public void unregisterRecevier() {
activity.unregisterReceiver(filterReceiver);
activity.unregisterReceiver(filterListUpdateReceiver); activity.unregisterReceiver(filterListUpdateReceiver);
} }
@ -398,10 +339,8 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
// selection // selection
if(selection == viewHolder.item) { if(selection == viewHolder.item) {
viewHolder.selected.setVisibility(View.VISIBLE); // TODO: convert to color
viewHolder.view.setBackgroundColor(Color.rgb(128, 230, 0)); viewHolder.view.setBackgroundColor(Color.rgb(128, 230, 0));
} else {
viewHolder.selected.setVisibility(View.GONE);
} }
} }
} }

@ -7,7 +7,6 @@ package com.todoroo.astrid.core;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
@ -15,7 +14,6 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -48,18 +46,6 @@ public final class CoreFilterExposer extends InjectingBroadcastReceiver implemen
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject @ForApplication Context context; @Inject @ForApplication Context context;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
FilterListItem[] list = prepareFilters();
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, list);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
private FilterListItem[] prepareFilters() { private FilterListItem[] prepareFilters() {
Resources r = context.getResources(); Resources r = context.getResources();
// core filters // core filters

@ -16,7 +16,6 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -51,18 +50,6 @@ public final class CustomFilterExposer extends InjectingBroadcastReceiver implem
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject @ForApplication Context context; @Inject @ForApplication Context context;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
FilterListItem[] list = prepareFilters();
// transmit filter list
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, list);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
private FilterListItem[] prepareFilters() { private FilterListItem[] prepareFilters() {
Resources r = context.getResources(); Resources r = context.getResources();

@ -8,17 +8,14 @@ package com.todoroo.astrid.gtasks;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.data.AbstractModel;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Functions;
import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -77,17 +74,6 @@ public class GtasksFilterExposer extends InjectingBroadcastReceiver implements A
return filter; return filter;
} }
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
FilterListItem[] list = prepareFilters();
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, list);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
private FilterListItem[] prepareFilters() { private FilterListItem[] prepareFilters() {
// if we aren't logged in (or we are logged in to astrid.com), don't expose features // if we aren't logged in (or we are logged in to astrid.com), don't expose features
if(!gtasksPreferenceService.isLoggedIn()) { if(!gtasksPreferenceService.isLoggedIn()) {

@ -47,8 +47,8 @@ public class SubtasksTagListFragment extends TagViewFragment {
@Override @Override
protected View getListBody(ViewGroup root) { protected View getListBody(ViewGroup root) {
taskListView = getActivity().getLayoutInflater().inflate(R.layout.task_list_body_subtasks, root, false); return getActivity().getLayoutInflater().inflate(
return taskListView; R.layout.task_list_body_subtasks, root, false);
} }
@Override @Override

@ -21,7 +21,6 @@ import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -104,17 +103,6 @@ public class TagFilterExposer extends InjectingBroadcastReceiver implements Astr
return ret; return ret;
} }
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
FilterListItem[] listAsArray = prepareFilters();
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, listAsArray);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
private FilterListItem[] prepareFilters() { private FilterListItem[] prepareFilters() {
ContextManager.setContext(context); ContextManager.setContext(context);

@ -7,13 +7,10 @@ package com.todoroo.astrid.timers;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.res.Resources; import android.content.res.Resources;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
@ -38,18 +35,6 @@ public final class TimerFilterExposer extends InjectingBroadcastReceiver impleme
@Inject TaskService taskService; @Inject TaskService taskService;
@Inject @ForApplication Context context; @Inject @ForApplication Context context;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
FilterListItem[] list = prepareFilters();
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_FILTERS);
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_RESPONSE, list);
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
}
private FilterListItem[] prepareFilters() { private FilterListItem[] prepareFilters() {
if(taskService.count(Query.select(Task.ID). if(taskService.count(Query.select(Task.ID).
where(Task.TIMER_START.gt(0))) == 0) { where(Task.TIMER_START.gt(0))) == 0) {

@ -89,7 +89,7 @@ public class WidgetConfigActivity extends InjectingListActivity {
// set up ui // set up ui
adapter = new FilterAdapter(injector, filterCounter, this, getListView(), adapter = new FilterAdapter(injector, filterCounter, this, getListView(),
R.layout.filter_adapter_row, true, true); R.layout.filter_adapter_row, true);
adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget; adapter.filterStyle = R.style.TextAppearance_FLA_Filter_Widget;
setListAdapter(adapter); setListAdapter(adapter);

@ -241,7 +241,7 @@ public class NavigationDrawerFragment extends InjectingFragment {
public void onAttach(Activity activity) { public void onAttach(Activity activity) {
super.onAttach(activity); super.onAttach(activity);
mCallbacks = (OnFilterItemClickedListener) activity; mCallbacks = (OnFilterItemClickedListener) activity;
adapter = new FilterAdapter(injector, filterCounter, getActivity(), null, R.layout.filter_adapter_row, false, false); adapter = new FilterAdapter(injector, filterCounter, getActivity(), null, R.layout.filter_adapter_row, false);
} }
@Override @Override

@ -34,16 +34,5 @@
android:paddingRight="7dip" android:paddingRight="7dip"
android:textColor="?attr/drawer_text" android:textColor="?attr/drawer_text"
android:gravity="center" /> android:gravity="center" />
<!-- selected -->
<ImageView android:id="@+id/selected"
android:layout_width="24dip"
android:layout_height="fill_parent"
android:layout_toLeftOf="@id/size"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:src="?attr/asFilterSelectedIcon"
android:scaleType="fitCenter"
android:visibility="gone"/>
</RelativeLayout> </RelativeLayout>

Loading…
Cancel
Save