/* * Taken from the 'Learning Android' project, released as Public Domain software at * http://github.com/digitalspaghetti/learning-android and modified heavily for Transdroid */ package org.transdroid.core.rssparser; import java.util.ArrayList; import java.util.Date; import java.util.List; import android.os.Parcel; import android.os.Parcelable; public class Channel implements Parcelable { private int id; private String title; private String link; private String description; private Date pubDate; private long lastBuildDate; private List<String> categories; private List<Item> items; private String image; public Channel() { this.categories = new ArrayList<>(); this.items = new ArrayList<>(); } public void setId(int id) { this.id = id; } public int getId() { return id; } public void setTitle(String title) { this.title = title; } public String getTitle() { return title; } public void setLink(String link) { this.link = link; } public String getLink() { return link; } public void setDescription(String description) { this.description = description; } public String getDescription() { return description; } public void setPubDate(Date date) { this.pubDate = date; } public Date getPubDate() { return pubDate; } public void setLastBuildDate(long lastBuildDate) { this.lastBuildDate = lastBuildDate; } public long getLastBuildDate() { return lastBuildDate; } public void setCategories(List<String> categories) { this.categories = categories; } public void addCategory(String category) { this.categories.add(category); } public List<String> getCategories() { return categories; } public void setItems(List<Item> items) { this.items = items; } public void addItem(Item item) { this.items.add(item); } public List<Item> getItems() { return items; } public void setImage(String image) { this.image = image; } public String getImage() { return image; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(id); out.writeString(title); out.writeString(link); out.writeString(description); out.writeLong(pubDate == null ? -1 : pubDate.getTime()); out.writeLong(lastBuildDate); out.writeTypedList(items); out.writeStringList(categories); out.writeString(image); } public static final Parcelable.Creator<Channel> CREATOR = new Parcelable.Creator<Channel>() { public Channel createFromParcel(Parcel in) { return new Channel(in); } public Channel[] newArray(int size) { return new Channel[size]; } }; private Channel(Parcel in) { this(); id = in.readInt(); title = in.readString(); link = in.readString(); description = in.readString(); long pubDateIn = in.readLong(); pubDate = pubDateIn == -1 ? null : new Date(pubDateIn); lastBuildDate = in.readLong(); categories = new ArrayList<>(); in.readTypedList(items, Item.CREATOR); in.readStringList(categories); image = in.readString(); } }