package org.fox.ttrss; import java.util.ArrayList; import java.util.List; import android.os.Parcel; import android.os.Parcelable; // TODO: serialize Labels public class Article implements Parcelable { int id; boolean unread; boolean marked; boolean published; int updated; boolean is_updated; String title; String link; int feed_id; List tags; String content; List> labels; public Article(Parcel in) { readFromParcel(in); } public Article(int id) { this.id = id; this.title = ""; this.link = ""; this.tags = new ArrayList(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(id); out.writeInt(unread ? 1 : 0); out.writeInt(marked ? 1 : 0); out.writeInt(published ? 1 : 0); out.writeInt(updated); out.writeInt(is_updated ? 1 : 0); out.writeString(title); out.writeString(link); out.writeInt(feed_id); out.writeStringList(tags); out.writeString(content); } public void readFromParcel(Parcel in) { id = in.readInt(); unread = in.readInt() == 1; marked = in.readInt() == 1; published = in.readInt() == 1; updated = in.readInt(); is_updated = in.readInt() == 1; title = in.readString(); link = in.readString(); feed_id = in.readInt(); if (tags == null) tags = new ArrayList(); in.readStringList(tags); content = in.readString(); } @SuppressWarnings("rawtypes") public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public Article createFromParcel(Parcel in) { return new Article(in); } public Article[] newArray(int size) { return new Article[size]; } }; }