summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org/fox/ttrss/types
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox/ttrss/types')
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java115
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/ArticleList.java59
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/Attachment.java75
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java90
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategory.java58
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategoryList.java43
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedList.java43
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/types/Label.java13
8 files changed, 496 insertions, 0 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java
new file mode 100644
index 00000000..9beea81a
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Article.java
@@ -0,0 +1,115 @@
+package org.fox.ttrss.types;
+import java.util.ArrayList;
+import java.util.List;
+
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+// TODO: serialize Labels
+public class Article implements Parcelable {
+ public int id;
+ public boolean unread;
+ public boolean marked;
+ public boolean published;
+ public int score;
+ public int updated;
+ public boolean is_updated;
+ public String title;
+ public String link;
+ public int feed_id;
+ public List<String> tags;
+ public List<Attachment> attachments;
+ public String content;
+ public List<List<String>> labels;
+ public String feed_title;
+ public int comments_count;
+ public String comments_link;
+ public boolean always_display_attachments;
+ public String author;
+ public String note;
+
+ public Article(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public Article() {
+
+ }
+
+ public Article(int id) {
+ this.id = id;
+ this.title = "";
+ this.link = "";
+ this.tags = new ArrayList<String>();
+ }
+
+ @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(score);
+ 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);
+ out.writeList(attachments);
+ out.writeString(feed_title);
+ out.writeInt(comments_count);
+ out.writeString(comments_link);
+ out.writeInt(always_display_attachments ? 1 : 0);
+ out.writeString(author);
+ out.writeString(note);
+ }
+
+ public void readFromParcel(Parcel in) {
+ id = in.readInt();
+ unread = in.readInt() == 1;
+ marked = in.readInt() == 1;
+ published = in.readInt() == 1;
+ score = in.readInt();
+ updated = in.readInt();
+ is_updated = in.readInt() == 1;
+ title = in.readString();
+ link = in.readString();
+ feed_id = in.readInt();
+
+ if (tags == null) tags = new ArrayList<String>();
+ in.readStringList(tags);
+
+ content = in.readString();
+
+ attachments = new ArrayList<Attachment>();
+ in.readList(attachments, Attachment.class.getClassLoader());
+
+ feed_title = in.readString();
+
+ comments_count = in.readInt();
+ comments_link = in.readString();
+ always_display_attachments = in.readInt() == 1;
+ author = in.readString();
+ note = 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];
+ }
+ };
+}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/ArticleList.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/ArticleList.java
new file mode 100644
index 00000000..c9b491ee
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/ArticleList.java
@@ -0,0 +1,59 @@
+package org.fox.ttrss.types;
+
+import java.util.ArrayList;
+
+
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.Log;
+
+@SuppressWarnings("serial")
+public class ArticleList extends ArrayList<Article> implements Parcelable {
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeList(this);
+ }
+
+ public Article findById(int id) {
+ for (Article a : this) {
+ if (a.id == id)
+ return a;
+ }
+ return null;
+ }
+
+ public void readFromParcel(Parcel in) {
+ in.readList(this, getClass().getClassLoader());
+ }
+
+ public ArticleList() { }
+
+ public ArticleList(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public boolean containsId(int id) {
+ for (Article a : this) {
+ if (a.id == id)
+ return true;
+ }
+ return false;
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static final Parcelable.Creator CREATOR =
+ new Parcelable.Creator() {
+ public ArticleList createFromParcel(Parcel in) {
+ return new ArticleList(in);
+ }
+
+ public ArticleList[] newArray(int size) {
+ return new ArticleList[size];
+ }
+ };
+} \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Attachment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Attachment.java
new file mode 100644
index 00000000..9e363dba
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Attachment.java
@@ -0,0 +1,75 @@
+package org.fox.ttrss.types;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class Attachment implements Parcelable {
+ public int id;
+ public String content_url;
+ public String content_type;
+ public String title;
+ public String duration;
+ public int post_id;
+
+ public Attachment(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public Attachment() {
+
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeInt(id);
+ out.writeString(content_url);
+ out.writeString(content_type);
+ out.writeString(title);
+ out.writeString(duration);
+ out.writeInt(post_id);
+ }
+
+ public String toString() {
+ if (title != null && title.length() > 0) {
+ return title;
+ } else {
+ try {
+ URL url = new URL(content_url.trim());
+ return new File(url.getFile()).getName();
+ } catch (MalformedURLException e) {
+ return content_url;
+ }
+ }
+ }
+
+ public void readFromParcel(Parcel in) {
+ id = in.readInt();
+ content_url = in.readString();
+ content_type = in.readString();
+ title = in.readString();
+ duration = in.readString();
+ post_id = in.readInt();
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static final Parcelable.Creator CREATOR =
+ new Parcelable.Creator() {
+ public Attachment createFromParcel(Parcel in) {
+ return new Attachment(in);
+ }
+
+ public Attachment[] newArray(int size) {
+ return new Attachment[size];
+ }
+ };
+
+}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java
new file mode 100644
index 00000000..6cf4a1b1
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java
@@ -0,0 +1,90 @@
+package org.fox.ttrss.types;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class Feed implements Comparable<Feed>, Parcelable {
+ public String feed_url;
+ public String title;
+ public int id;
+ public int unread;
+ public boolean has_icon;
+ public int cat_id;
+ public int last_updated;
+ public int order_id;
+ public boolean is_cat;
+
+ public Feed(int id, String title, boolean is_cat) {
+ this.id = id;
+ this.title = title;
+ this.is_cat = is_cat;
+ }
+
+ public Feed(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public Feed() {
+
+ }
+
+ public boolean equals(Feed feed) {
+ if (feed == this)
+ return true;
+
+ if (feed == null)
+ return false;
+
+ return feed.id == this.id && (this.title == null || this.title.equals(feed.title)) && this.is_cat == feed.is_cat;
+ }
+
+ @Override
+ public int compareTo(Feed feed) {
+ if (feed.unread != this.unread)
+ return feed.unread - this.unread;
+ else
+ return this.title.compareTo(feed.title);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeString(feed_url);
+ out.writeString(title);
+ out.writeInt(id);
+ out.writeInt(unread);
+ out.writeInt(has_icon ? 1 : 0);
+ out.writeInt(cat_id);
+ out.writeInt(last_updated);
+ out.writeInt(is_cat ? 1 : 0);
+ out.writeInt(order_id);
+ }
+
+ public void readFromParcel(Parcel in) {
+ feed_url = in.readString();
+ title = in.readString();
+ id = in.readInt();
+ unread = in.readInt();
+ has_icon = in.readInt() == 1;
+ cat_id = in.readInt();
+ last_updated = in.readInt();
+ is_cat = in.readInt() == 1;
+ order_id = in.readInt();
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static final Parcelable.Creator CREATOR =
+ new Parcelable.Creator() {
+ public Feed createFromParcel(Parcel in) {
+ return new Feed(in);
+ }
+
+ public Feed[] newArray(int size) {
+ return new Feed[size];
+ }
+ };
+} \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategory.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategory.java
new file mode 100644
index 00000000..c8193f94
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategory.java
@@ -0,0 +1,58 @@
+package org.fox.ttrss.types;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class FeedCategory implements Parcelable {
+ public int id;
+ public String title;
+ public int unread;
+ public int order_id;
+
+ public FeedCategory(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public FeedCategory(int id, String title, int unread) {
+ this.id = id;
+ this.title = title;
+ this.unread = unread;
+ this.order_id = 0;
+ }
+
+ public FeedCategory() {
+
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeInt(id);
+ out.writeString(title);
+ out.writeInt(unread);
+ out.writeInt(order_id);
+ }
+
+ public void readFromParcel(Parcel in) {
+ id = in.readInt();
+ title = in.readString();
+ unread = in.readInt();
+ order_id = 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/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategoryList.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategoryList.java
new file mode 100644
index 00000000..eb5331bc
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedCategoryList.java
@@ -0,0 +1,43 @@
+package org.fox.ttrss.types;
+
+import java.util.ArrayList;
+
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+@SuppressWarnings("serial")
+public class FeedCategoryList extends ArrayList<FeedCategory> implements Parcelable {
+
+ public FeedCategoryList() { }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeList(this);
+ }
+
+ public void readFromParcel(Parcel in) {
+ in.readList(this, getClass().getClassLoader());
+ }
+
+ 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];
+ }
+ };
+ }
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedList.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedList.java
new file mode 100644
index 00000000..350f45ad
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/FeedList.java
@@ -0,0 +1,43 @@
+package org.fox.ttrss.types;
+
+import java.util.ArrayList;
+
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+@SuppressWarnings("serial")
+public class FeedList extends ArrayList<Feed> implements Parcelable {
+
+ public FeedList() { }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeList(this);
+ }
+
+ public void readFromParcel(Parcel in) {
+ in.readList(this, getClass().getClassLoader());
+ }
+
+ public FeedList(Parcel in) {
+ readFromParcel(in);
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static final Parcelable.Creator CREATOR =
+ new Parcelable.Creator() {
+ public FeedList createFromParcel(Parcel in) {
+ return new FeedList(in);
+ }
+
+ public FeedList[] newArray(int size) {
+ return new FeedList[size];
+ }
+ };
+ }
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Label.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Label.java
new file mode 100644
index 00000000..0d4f3699
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Label.java
@@ -0,0 +1,13 @@
+package org.fox.ttrss.types;
+
+public class Label {
+ public int id;
+ public String caption;
+ public String fg_color;
+ public String bg_color;
+ public boolean checked;
+
+ public Label() {
+
+ }
+}