summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2011-11-25 23:34:40 +0300
committerAndrew Dolgov <fox@fakecake.org>2011-11-25 23:34:40 +0300
commita950ebbddbfa4e01abad4b75d2a05c55ca9b667d (patch)
tree478d4b2b45bb27bc2a4f482c620e379fa5e4ceaf
parentfe15fa86a13884af74ada665c5210a5133b78639 (diff)
implement Parcelable.CREATOR
-rw-r--r--AndroidManifest.xml4
-rw-r--r--src/org/fox/ttrss/Article.java15
-rw-r--r--src/org/fox/ttrss/ArticleList.java47
-rw-r--r--src/org/fox/ttrss/Feed.java15
-rw-r--r--src/org/fox/ttrss/FeedList.java49
-rw-r--r--src/org/fox/ttrss/FeedsFragment.java28
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java25
7 files changed, 129 insertions, 54 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index bed07a1e..34738f4c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
- android:versionCode="3"
- android:versionName="0.1.2">
+ android:versionCode="4"
+ android:versionName="0.1.3">
<uses-sdk android:minSdkVersion="10" />
<supports-screens android:smallScreens="false" android:normalScreens="false" />
diff --git a/src/org/fox/ttrss/Article.java b/src/org/fox/ttrss/Article.java
index e9766556..1439416d 100644
--- a/src/org/fox/ttrss/Article.java
+++ b/src/org/fox/ttrss/Article.java
@@ -18,6 +18,10 @@ public class Article implements Parcelable {
List<String> tags;
String content;
+ public Article(Parcel in) {
+ readFromParcel(in);
+ }
+
@Override
public int describeContents() {
return 0;
@@ -51,4 +55,15 @@ public class Article implements Parcelable {
in.readStringList(tags);
content = in.readString();
}
+
+ 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/src/org/fox/ttrss/ArticleList.java b/src/org/fox/ttrss/ArticleList.java
new file mode 100644
index 00000000..d09642c9
--- /dev/null
+++ b/src/org/fox/ttrss/ArticleList.java
@@ -0,0 +1,47 @@
+package org.fox.ttrss;
+
+import java.util.ArrayList;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class ArticleList extends ArrayList<Article> implements Parcelable {
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeInt(this.size());
+ for (Article article : this) {
+ out.writeParcelable(article, flags);
+ }
+ }
+
+ public void readFromParcel(Parcel in) {
+ int length = in.readInt();
+
+ for (int i = 0; i < length; i++) {
+ Article article = in.readParcelable(Article.class.getClassLoader());
+ this.add(article);
+ }
+ }
+
+ public ArticleList() { }
+
+ public ArticleList(Parcel in) {
+ readFromParcel(in);
+ }
+
+ 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/src/org/fox/ttrss/Feed.java b/src/org/fox/ttrss/Feed.java
index feed1767..75131938 100644
--- a/src/org/fox/ttrss/Feed.java
+++ b/src/org/fox/ttrss/Feed.java
@@ -12,6 +12,10 @@ public class Feed implements Comparable<Feed>, Parcelable {
int cat_id;
int last_updated;
+ public Feed(Parcel in) {
+ readFromParcel(in);
+ }
+
@Override
public int compareTo(Feed feed) {
if (feed.unread != this.unread)
@@ -45,4 +49,15 @@ public class Feed implements Comparable<Feed>, Parcelable {
cat_id = in.readInt();
last_updated = in.readInt();
}
+
+ 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/src/org/fox/ttrss/FeedList.java b/src/org/fox/ttrss/FeedList.java
new file mode 100644
index 00000000..035edf57
--- /dev/null
+++ b/src/org/fox/ttrss/FeedList.java
@@ -0,0 +1,49 @@
+package org.fox.ttrss;
+
+import java.util.ArrayList;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+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.writeInt(this.size());
+ for (Feed feed : this) {
+ out.writeParcelable(feed, flags);
+ }
+ }
+
+ public void readFromParcel(Parcel in) {
+ int length = in.readInt();
+
+ for (int i = 0; i < length; i++) {
+ Feed feed = in.readParcelable(Feed.class.getClassLoader());
+ this.add(feed);
+ }
+
+ }
+
+ public FeedList(Parcel in) {
+ readFromParcel(in);
+ }
+
+ 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/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java
index e78ae4f4..9777f9b2 100644
--- a/src/org/fox/ttrss/FeedsFragment.java
+++ b/src/org/fox/ttrss/FeedsFragment.java
@@ -10,8 +10,6 @@ import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -37,32 +35,6 @@ public class FeedsFragment extends Fragment implements OnItemClickListener {
private OnFeedSelectedListener m_feedSelectedListener;
private int m_selectedFeedId;
- private class FeedList extends ArrayList<Feed> implements Parcelable {
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel out, int flags) {
- out.writeInt(this.size());
- for (Feed feed : this) {
- out.writeParcelable(feed, flags);
- }
- }
-
- public void readFromParcel(Parcel in) {
- int length = in.readInt();
-
- for (int i = 0; i < length; i++) {
- Feed feed = in.readParcelable(Feed.class.getClassLoader());
- this.add(feed);
- }
-
- }
- }
-
public interface OnFeedSelectedListener {
public void onFeedSelected(Feed feed);
}
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index c139314d..c8da3371 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -57,30 +57,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener {
public void onArticleSelected(Article article);
}
- private class ArticleList extends ArrayList<Article> implements Parcelable {
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel out, int flags) {
- out.writeInt(this.size());
- for (Article article : this) {
- out.writeParcelable(article, flags);
- }
- }
-
- public void readFromParcel(Parcel in) {
- int length = in.readInt();
-
- for (int i = 0; i < length; i++) {
- Article article = in.readParcelable(Article.class.getClassLoader());
- this.add(article);
- }
-
- }
- }
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {