From 8771803965cea6202a84b937ef27981411f6370c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 28 Nov 2011 17:45:32 +0300 Subject: [PATCH] add data structures for categories --- src/org/fox/ttrss/FeedCategory.java | 44 +++++++++++++++++++++ src/org/fox/ttrss/FeedCategoryList.java | 51 +++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 src/org/fox/ttrss/FeedCategory.java create mode 100644 src/org/fox/ttrss/FeedCategoryList.java diff --git a/src/org/fox/ttrss/FeedCategory.java b/src/org/fox/ttrss/FeedCategory.java new file mode 100644 index 00000000..c911dc61 --- /dev/null +++ b/src/org/fox/ttrss/FeedCategory.java @@ -0,0 +1,44 @@ +package org.fox.ttrss; + +import android.os.Parcel; +import android.os.Parcelable; + +public class FeedCategory implements Parcelable { + int id; + String title; + int unread; + + public FeedCategory(Parcel in) { + readFromParcel(in); + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeInt(id); + out.writeString(title); + out.writeInt(unread); + } + + public void readFromParcel(Parcel in) { + id = in.readInt(); + title = in.readString(); + unread = in.readInt(); + } + + @SuppressWarnings("rawtypes") + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + public FeedCategory createFromParcel(Parcel in) { + return new FeedCategory(in); + } + + public FeedCategory[] newArray(int size) { + return new FeedCategory[size]; + } + }; +} diff --git a/src/org/fox/ttrss/FeedCategoryList.java b/src/org/fox/ttrss/FeedCategoryList.java new file mode 100644 index 00000000..e78f8747 --- /dev/null +++ b/src/org/fox/ttrss/FeedCategoryList.java @@ -0,0 +1,51 @@ +package org.fox.ttrss; + +import java.util.ArrayList; + +import android.os.Parcel; +import android.os.Parcelable; + +@SuppressWarnings("serial") +public class FeedCategoryList extends ArrayList implements Parcelable { + + public FeedCategoryList() { } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeInt(this.size()); + for (FeedCategory feed : this) { + out.writeParcelable(feed, flags); + } + } + + public void readFromParcel(Parcel in) { + int length = in.readInt(); + + for (int i = 0; i < length; i++) { + FeedCategory feed = in.readParcelable(Feed.class.getClassLoader()); + this.add(feed); + } + + } + + public FeedCategoryList(Parcel in) { + readFromParcel(in); + } + + @SuppressWarnings("rawtypes") + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + public FeedCategoryList createFromParcel(Parcel in) { + return new FeedCategoryList(in); + } + + public FeedCategoryList[] newArray(int size) { + return new FeedCategoryList[size]; + } + }; + }