summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/adapter/FeedlistAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/adapter/FeedlistAdapter.java')
-rw-r--r--src/de/danoeh/antennapod/adapter/FeedlistAdapter.java45
1 files changed, 32 insertions, 13 deletions
diff --git a/src/de/danoeh/antennapod/adapter/FeedlistAdapter.java b/src/de/danoeh/antennapod/adapter/FeedlistAdapter.java
index f89f2854a..d7ea0c160 100644
--- a/src/de/danoeh/antennapod/adapter/FeedlistAdapter.java
+++ b/src/de/danoeh/antennapod/adapter/FeedlistAdapter.java
@@ -1,34 +1,37 @@
package de.danoeh.antennapod.adapter;
import java.text.DateFormat;
-import java.util.List;
import android.content.Context;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
+import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.asynctask.FeedImageLoader;
+import de.danoeh.antennapod.asynctask.ImageLoader;
import de.danoeh.antennapod.feed.Feed;
+import de.danoeh.antennapod.feed.FeedManager;
import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.util.ThemeUtils;
-public class FeedlistAdapter extends ArrayAdapter<Feed> {
+public class FeedlistAdapter extends BaseAdapter {
private static final String TAG = "FeedlistAdapter";
+ private Context context;
+ private FeedManager manager = FeedManager.getInstance();
+
private int selectedItemIndex;
- private FeedImageLoader imageLoader;
+ private ImageLoader imageLoader;
public static final int SELECTION_NONE = -1;
- public FeedlistAdapter(Context context, int textViewResourceId,
- List<Feed> objects) {
- super(context, textViewResourceId, objects);
+ public FeedlistAdapter(Context context) {
+ super();
+ this.context = context;
selectedItemIndex = SELECTION_NONE;
- imageLoader = FeedImageLoader.getInstance();
+ imageLoader = ImageLoader.getInstance();
}
@Override
@@ -39,7 +42,7 @@ public class FeedlistAdapter extends ArrayAdapter<Feed> {
// Inflate Layout
if (convertView == null) {
holder = new Holder();
- LayoutInflater inflater = (LayoutInflater) getContext()
+ LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.feedlist_item, null);
@@ -83,7 +86,7 @@ public class FeedlistAdapter extends ArrayAdapter<Feed> {
.getTime(), System.currentTimeMillis(),
DateFormat.MEDIUM, DateFormat.SHORT));
}
- holder.numberOfEpisodes.setText(feed.getNumOfItems()
+ holder.numberOfEpisodes.setText(feed.getNumOfItems(true)
+ convertView.getResources()
.getString(R.string.episodes_suffix));
@@ -105,8 +108,9 @@ public class FeedlistAdapter extends ArrayAdapter<Feed> {
holder.inProgressEpisodesLabel.setVisibility(View.INVISIBLE);
}
- holder.image.setTag(feed.getImage());
-
+ final String imageUrl = (feed.getImage() != null) ? feed.getImage()
+ .getFile_url() : null;
+ holder.image.setTag(imageUrl);
imageLoader.loadThumbnailBitmap(
feed.getImage(),
holder.image,
@@ -136,4 +140,19 @@ public class FeedlistAdapter extends ArrayAdapter<Feed> {
notifyDataSetChanged();
}
+ @Override
+ public int getCount() {
+ return manager.getFeedsSize();
+ }
+
+ @Override
+ public Feed getItem(int position) {
+ return manager.getFeedAtIndex(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
}