From 58e3c9f9b5ee5bc0b4076f8f7578d4fd8e6bf7e4 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 26 Oct 2011 12:18:34 -0700 Subject: [PATCH] Fixed a bug with everything appearing twice in the filter list --- .../todoroo/astrid/adapter/FilterAdapter.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java index 35970f475..5e4eb4c5b 100644 --- a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java @@ -80,8 +80,9 @@ public class FilterAdapter extends BaseExpandableListAdapter { private final DisplayMetrics metrics = new DisplayMetrics(); /** receiver for new filters */ - //private final FilterReceiver filterReceiver = new FilterReceiver(); + private final FilterReceiver filterReceiver = new FilterReceiver(); private final BladeFilterReceiver bladeFilterReceiver = new BladeFilterReceiver(); + private boolean shouldUseBladeFilter = true; /** row layout to inflate */ private final int layout; @@ -319,6 +320,7 @@ public class FilterAdapter extends BaseExpandableListAdapter { Bundle extras = intent.getExtras(); extras.setClassLoader(FilterListHeader.class.getClassLoader()); final Parcelable[] filters = extras.getParcelableArray(AstridApiConstants.EXTRAS_RESPONSE); + shouldUseBladeFilter = false; populateFiltersToAdapter(filters); } catch (Exception e) { Log.e("receive-filter-" + //$NON-NLS-1$ @@ -374,7 +376,7 @@ public class FilterAdapter extends BaseExpandableListAdapter { @Override public void onReceive(Context context, Intent intent) { - if (getGroupCount() == 0 && filterExposerList != null && filterExposerList.size()>0) { + if (shouldUseBladeFilter && getGroupCount() == 0 && filterExposerList != null && filterExposerList.size()>0) { try { for (ResolveInfo filterExposerInfo : filterExposerList) { Log.d("BladeFilterReceiver", filterExposerInfo.toString()); @@ -448,10 +450,12 @@ public class FilterAdapter extends BaseExpandableListAdapter { * Call this method from your activity's onResume() method */ public void registerRecevier() { - /*activity.registerReceiver(filterReceiver, - new IntentFilter(AstridApiConstants.BROADCAST_SEND_FILTERS));//*/ - activity.registerReceiver(bladeFilterReceiver, - new IntentFilter(AstridApiConstants.BROADCAST_SEND_FILTERS)); + IntentFilter regularFilter = new IntentFilter(AstridApiConstants.BROADCAST_SEND_FILTERS); + regularFilter.setPriority(2); + activity.registerReceiver(filterReceiver, regularFilter); + IntentFilter bladeFilter = new IntentFilter(AstridApiConstants.BROADCAST_SEND_FILTERS); + bladeFilter.setPriority(1); + activity.registerReceiver(bladeFilterReceiver, bladeFilter); if(getGroupCount() == 0) getLists(); } @@ -460,7 +464,7 @@ public class FilterAdapter extends BaseExpandableListAdapter { * Call this method from your activity's onResume() method */ public void unregisterRecevier() { - //activity.unregisterReceiver(filterReceiver); + activity.unregisterReceiver(filterReceiver); activity.unregisterReceiver(bladeFilterReceiver); }