Merge remote-tracking branch 'upstream/master' into 130122_sb_new_sync

pull/14/head
Sam Bosley 12 years ago
commit d1b0b66de7

@ -14,6 +14,7 @@ import android.text.TextUtils;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Field;
import com.todoroo.andlib.sql.Operator;
import com.todoroo.andlib.sql.UnaryCriterion;
/**
* Property represents a typed column in a database.
@ -215,7 +216,7 @@ public abstract class Property<TYPE> extends Field implements Cloneable {
protected void populate(StringBuilder sb) {
sb.append(field).append(SPACE).append(Operator.in).append(SPACE).append(LEFT_PARENTHESIS).append(SPACE);
for (String s : value) {
sb.append("\"").append(s.toString()).append("\"").append(COMMA);
sb.append("'").append(UnaryCriterion.sanitize(s)).append("'").append(COMMA);
}
sb.deleteCharAt(sb.length() - 1).append(RIGHT_PARENTHESIS);
}

@ -40,4 +40,9 @@ public class PeopleFilterAdapter extends FilterAdapter {
public void unregisterRecevier() {
activity.unregisterReceiver(filterReceiver);
}
@Override
protected boolean shouldDirectlyPopulateFilters() {
return false;
}
}

@ -37,6 +37,11 @@ public class FeaturedListFilterAdapter extends FilterAdapter {
activity.unregisterReceiver(filterReceiver);
}
@Override
protected boolean shouldDirectlyPopulateFilters() {
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);

@ -359,6 +359,10 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
return selection;
}
protected boolean shouldDirectlyPopulateFilters() {
return true;
}
/* ======================================================================
* ============================================================= receiver
* ====================================================================== */
@ -383,13 +387,26 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
@Override
public void onReceive(Context context, Intent intent) {
try {
for (ResolveInfo filterExposerInfo : filterExposerList) {
String className = filterExposerInfo.activityInfo.name;
AstridFilterExposer filterExposer = null;
filterExposer = (AstridFilterExposer) Class.forName(className, true, FilterAdapter.class.getClassLoader()).newInstance();
if (filterExposer != null) {
populateFiltersToAdapter(filterExposer.getFilters());
if (shouldDirectlyPopulateFilters()) {
for (ResolveInfo filterExposerInfo : filterExposerList) {
String className = filterExposerInfo.activityInfo.name;
AstridFilterExposer filterExposer = null;
filterExposer = (AstridFilterExposer) Class.forName(className, true, FilterAdapter.class.getClassLoader()).newInstance();
if (filterExposer != null) {
populateFiltersToAdapter(filterExposer.getFilters());
}
}
} else {
try {
Bundle extras = intent.getExtras();
extras.setClassLoader(FilterListHeader.class.getClassLoader());
final Parcelable[] filters = extras.getParcelableArray(AstridApiConstants.EXTRAS_RESPONSE);
populateFiltersToAdapter(filters);
} catch (Exception e) {
Log.e("receive-filter-" + //$NON-NLS-1$
intent.getStringExtra(AstridApiConstants.EXTRAS_ADDON),
e.toString(), e);
}
}
} catch (Exception e) {

Loading…
Cancel
Save