summaryrefslogtreecommitdiff
path: root/src/de/podfetcher
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/podfetcher')
-rw-r--r--src/de/podfetcher/activity/FeedInfoActivity.java14
-rw-r--r--src/de/podfetcher/feed/Feed.java19
-rw-r--r--src/de/podfetcher/feed/FeedManager.java11
-rw-r--r--src/de/podfetcher/storage/PodDBAdapter.java7
-rw-r--r--src/de/podfetcher/syndication/namespace/itunes/NSITunes.java6
-rw-r--r--src/de/podfetcher/syndication/namespace/rss20/NSRSS20.java3
6 files changed, 55 insertions, 5 deletions
diff --git a/src/de/podfetcher/activity/FeedInfoActivity.java b/src/de/podfetcher/activity/FeedInfoActivity.java
index 0cffc37d5..d15c7916c 100644
--- a/src/de/podfetcher/activity/FeedInfoActivity.java
+++ b/src/de/podfetcher/activity/FeedInfoActivity.java
@@ -22,6 +22,8 @@ public class FeedInfoActivity extends SherlockActivity {
private ImageView imgvCover;
private TextView txtvTitle;
private TextView txtvDescription;
+ private TextView txtvLanguage;
+ private TextView txtvAuthor;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -32,13 +34,23 @@ public class FeedInfoActivity extends SherlockActivity {
FeedManager manager = FeedManager.getInstance();
Feed feed = manager.getFeed(feedId);
if (feed != null) {
+ Log.d(TAG, "Language is " + feed.getLanguage());
+ Log.d(TAG, "Author is " + feed.getAuthor());
imgvCover = (ImageView) findViewById(R.id.imgvCover);
txtvTitle = (TextView) findViewById(R.id.txtvTitle);
txtvDescription = (TextView) findViewById(R.id.txtvDescription);
-
+ txtvLanguage = (TextView) findViewById(R.id.txtvLanguage);
+ txtvAuthor = (TextView) findViewById(R.id.txtvAuthor);
+
imgvCover.setImageBitmap(feed.getImage().getImageBitmap());
txtvTitle.setText(feed.getTitle());
txtvDescription.setText(feed.getDescription());
+ if (feed.getAuthor() != null) {
+ txtvAuthor.setText(feed.getAuthor());
+ }
+ if (feed.getLanguage() != null) {
+ txtvLanguage.setText(feed.getLanguage());
+ }
} else {
Log.e(TAG, "Activity was started with invalid arguments");
}
diff --git a/src/de/podfetcher/feed/Feed.java b/src/de/podfetcher/feed/Feed.java
index 59eaf7046..ff4fc4c08 100644
--- a/src/de/podfetcher/feed/Feed.java
+++ b/src/de/podfetcher/feed/Feed.java
@@ -14,6 +14,9 @@ public class Feed extends FeedFile {
/** Link to the website. */
private String link;
private String description;
+ private String language;
+ /** Name of the author */
+ private String author;
private FeedImage image;
private FeedCategory category;
private ArrayList<FeedItem> items;
@@ -107,4 +110,20 @@ public class Feed extends FeedFile {
this.paymentLink = paymentLink;
}
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
}
diff --git a/src/de/podfetcher/feed/FeedManager.java b/src/de/podfetcher/feed/FeedManager.java
index 9e61bbd6a..e082529ff 100644
--- a/src/de/podfetcher/feed/FeedManager.java
+++ b/src/de/podfetcher/feed/FeedManager.java
@@ -239,8 +239,11 @@ public class FeedManager {
adapter.close();
}
- /** Updates an existing feed or adds it as a new one if it doesn't exist.
- * @return The saved Feed with a database ID*/
+ /**
+ * Updates an existing feed or adds it as a new one if it doesn't exist.
+ *
+ * @return The saved Feed with a database ID
+ */
public Feed updateFeed(Context context, final Feed newFeed) {
// Look up feed in the feedslist
final Feed savedFeed = searchFeedByLink(newFeed.getLink());
@@ -493,6 +496,10 @@ public class FeedManager {
.getColumnIndex(PodDBAdapter.KEY_DESCRIPTION)));
feed.setPaymentLink(feedlistCursor.getString(feedlistCursor
.getColumnIndex(PodDBAdapter.KEY_PAYMENT_LINK)));
+ feed.setAuthor(feedlistCursor.getString(feedlistCursor
+ .getColumnIndex(PodDBAdapter.KEY_AUTHOR)));
+ feed.setLanguage(feedlistCursor.getString(feedlistCursor
+ .getColumnIndex(PodDBAdapter.KEY_LANGUAGE)));
feed.setImage(adapter.getFeedImage(feedlistCursor
.getLong(feedlistCursor
.getColumnIndex(PodDBAdapter.KEY_IMAGE))));
diff --git a/src/de/podfetcher/storage/PodDBAdapter.java b/src/de/podfetcher/storage/PodDBAdapter.java
index 6fa7ab19c..7974d1269 100644
--- a/src/de/podfetcher/storage/PodDBAdapter.java
+++ b/src/de/podfetcher/storage/PodDBAdapter.java
@@ -55,6 +55,8 @@ public class PodDBAdapter {
public static final String KEY_CONTENT_ENCODED = "content_encoded";
public static final String KEY_PAYMENT_LINK = "payment_link";
public static final String KEY_START = "start";
+ public static final String KEY_LANGUAGE = "language";
+ public static final String KEY_AUTHOR = "author";
// Table names
public static final String TABLE_NAME_FEEDS = "Feeds";
@@ -75,7 +77,8 @@ public class PodDBAdapter {
+ KEY_IMAGE + " INTEGER," + KEY_CATEGORY + " INTEGER,"
+ KEY_FILE_URL + " TEXT," + KEY_DOWNLOAD_URL + " TEXT,"
+ KEY_DOWNLOADED + " INTEGER," + KEY_LASTUPDATE + " TEXT,"
- + KEY_PAYMENT_LINK + " TEXT)";
+ + KEY_PAYMENT_LINK + " TEXT," + KEY_LANGUAGE + " TEXT,"
+ + KEY_AUTHOR + " TEXT)";
private static final String CREATE_TABLE_FEED_ITEMS = "CREATE TABLE "
+ TABLE_NAME_FEED_ITEMS + " (" + TABLE_PRIMARY_KEY + KEY_TITLE
@@ -159,6 +162,8 @@ public class PodDBAdapter {
values.put(KEY_LINK, feed.getLink());
values.put(KEY_DESCRIPTION, feed.getDescription());
values.put(KEY_PAYMENT_LINK, feed.getPaymentLink());
+ values.put(KEY_AUTHOR, feed.getAuthor());
+ values.put(KEY_LANGUAGE, feed.getLanguage());
if (feed.getImage() != null) {
if (feed.getImage().getId() == 0) {
setImage(feed.getImage());
diff --git a/src/de/podfetcher/syndication/namespace/itunes/NSITunes.java b/src/de/podfetcher/syndication/namespace/itunes/NSITunes.java
index a10f2cd17..db78c73c3 100644
--- a/src/de/podfetcher/syndication/namespace/itunes/NSITunes.java
+++ b/src/de/podfetcher/syndication/namespace/itunes/NSITunes.java
@@ -15,6 +15,8 @@ public class NSITunes extends Namespace{
private static final String IMAGE_TITLE = "image";
private static final String IMAGE_HREF = "href";
+ private static final String AUTHOR = "author";
+
@Override
public SyndElement handleElementStart(String localName, HandlerState state,
@@ -31,7 +33,9 @@ public class NSITunes extends Namespace{
@Override
public void handleElementEnd(String localName, HandlerState state) {
-
+ if (localName.equals(AUTHOR)) {
+ state.getFeed().setAuthor(state.getContentBuf().toString());
+ }
}
diff --git a/src/de/podfetcher/syndication/namespace/rss20/NSRSS20.java b/src/de/podfetcher/syndication/namespace/rss20/NSRSS20.java
index 9cd2c42eb..dfae49b7d 100644
--- a/src/de/podfetcher/syndication/namespace/rss20/NSRSS20.java
+++ b/src/de/podfetcher/syndication/namespace/rss20/NSRSS20.java
@@ -36,6 +36,7 @@ public class NSRSS20 extends Namespace {
public final static String ENCLOSURE = "enclosure";
public final static String IMAGE = "image";
public final static String URL = "url";
+ public final static String LANGUAGE = "language";
public final static String ENC_URL = "url";
public final static String ENC_LEN = "length";
@@ -105,6 +106,8 @@ public class NSRSS20 extends Namespace {
state.getCurrentItem().setDescription(content);
}
+ } else if (localName.equals(LANGUAGE)) {
+ state.getFeed().setLanguage(content.toLowerCase());
}
}
}