package fr.ydelouis.selfoss.entity; import android.os.Parcel; import android.os.Parcelable; public class Filter implements Parcelable { private ArticleType type = ArticleType.Newest; private Tag tag = Tag.ALL; private Source source = null; public Filter() { } public ArticleType getType() { return type; } public void setType(ArticleType type) { this.type = type; } public Tag getTag() { return tag; } public void setTag(Tag tag) { this.tag = tag; this.source = null; } public Source getSource() { return source; } public void setSource(Source source) { this.source = source; if (source == null) { this.tag = Tag.ALL; } else { this.tag = null; } } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.type == null ? -1 : this.type.ordinal()); dest.writeParcelable(this.tag, 0); dest.writeParcelable(this.source, 0); } private Filter(Parcel in) { int tmpType = in.readInt(); this.type = tmpType == -1 ? null : ArticleType.values()[tmpType]; this.tag = in.readParcelable(Tag.class.getClassLoader()); this.source = in.readParcelable(Source.class.getClassLoader()); } public static Creator<Filter> CREATOR = new Creator<Filter>() { public Filter createFromParcel(Parcel source) { return new Filter(source); } public Filter[] newArray(int size) { return new Filter[size]; } }; }