/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.api;
import android.content.ContentValues;
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;
/**
* CustomFilterCriteria allow users to build a custom filter by chaining
* together criteria
*
* @author Tim Su <tim@todoroo.com>
*
*/
public class MultipleSelectCriterion extends CustomFilterCriterion implements Parcelable {
/**
* Array of entries for user to select from
*/
public String[] entryTitles;
/**
* Array of entry values corresponding to entries
*/
public String[] entryValues;
/**
* Create a new CustomFilterCriteria object
*
* @param title
* @param sql
* @param valuesForNewTasks
* @param entryTitles
* @param entryValues
* @param icon
* @param name
*/
public MultipleSelectCriterion(String identifier, String title, String sql,
ContentValues valuesForNewTasks, String[] entryTitles,
String[] entryValues, Bitmap icon, String name) {
this.identifier = identifier;
this.text = title;
this.sql = sql;
this.valuesForNewTasks = valuesForNewTasks;
this.entryTitles = entryTitles;
this.entryValues = entryValues;
this.icon = icon;
this.name = name;
}
protected MultipleSelectCriterion() {
// constructor for inflating from parceling
}
// --- parcelable
/**
* {@inheritDoc}
*/
public int describeContents() {
return 0;
}
/**
* {@inheritDoc}
*/
public void writeToParcel(Parcel dest, int flags) {
dest.writeStringArray(entryTitles);
dest.writeStringArray(entryValues);
super.writeToParcel(dest);
}
/**
* Parcelable Creator Object
*/
public static final Parcelable.Creator<MultipleSelectCriterion> CREATOR = new Parcelable.Creator<MultipleSelectCriterion>() {
/**
* {@inheritDoc}
*/
public MultipleSelectCriterion createFromParcel(Parcel source) {
MultipleSelectCriterion item = new MultipleSelectCriterion();
item.entryTitles = source.createStringArray();
item.entryValues = source.createStringArray();
item.readFromParcel(source);
return item;
}
/**
* {@inheritDoc}
*/
public MultipleSelectCriterion[] newArray(int size) {
return new MultipleSelectCriterion[size];
}
};
}