summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/adapter
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-02-24 10:46:10 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2013-02-24 10:46:10 +0100
commit56f199dc8c69d7e24d0e05613f9911c323cb46a6 (patch)
tree6ef20851c871d7ef4f47d5c75df0a8fb7262eb8b /src/de/danoeh/antennapod/adapter
parentcca91b12b9df7c23121b4c01172863ff64d35cfe (diff)
downloadAntennaPod-56f199dc8c69d7e24d0e05613f9911c323cb46a6.zip
Added UserPreferences class, limit access to unreadItems and queue
Diffstat (limited to 'src/de/danoeh/antennapod/adapter')
-rw-r--r--src/de/danoeh/antennapod/adapter/AbstractFeedItemlistAdapter.java16
-rw-r--r--src/de/danoeh/antennapod/adapter/ExternalEpisodesListAdapter.java48
-rw-r--r--src/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java1
3 files changed, 15 insertions, 50 deletions
diff --git a/src/de/danoeh/antennapod/adapter/AbstractFeedItemlistAdapter.java b/src/de/danoeh/antennapod/adapter/AbstractFeedItemlistAdapter.java
index 5c720d652..74b54c105 100644
--- a/src/de/danoeh/antennapod/adapter/AbstractFeedItemlistAdapter.java
+++ b/src/de/danoeh/antennapod/adapter/AbstractFeedItemlistAdapter.java
@@ -6,13 +6,13 @@ import android.content.Context;
import android.widget.ArrayAdapter;
import de.danoeh.antennapod.PodcastApp;
import de.danoeh.antennapod.feed.FeedItem;
+import de.danoeh.antennapod.preferences.UserPreferences;
import de.danoeh.antennapod.util.EpisodeFilter;
public abstract class AbstractFeedItemlistAdapter extends
ArrayAdapter<FeedItem> {
private List<FeedItem> objects;
- private boolean isExpanded = true;
public AbstractFeedItemlistAdapter(Context context, int textViewResourceId,
List<FeedItem> objects) {
@@ -22,28 +22,20 @@ public abstract class AbstractFeedItemlistAdapter extends
@Override
public int getCount() {
- if (isExpanded) {
- if (PodcastApp.getInstance().displayOnlyEpisodes()) {
+ if (UserPreferences.isDisplayOnlyEpisodes()) {
return EpisodeFilter.countItemsWithEpisodes(objects);
} else {
return super.getCount();
}
- } else {
- return 0;
- }
+
}
@Override
public FeedItem getItem(int position) {
- if (PodcastApp.getInstance().displayOnlyEpisodes()) {
+ if (UserPreferences.isDisplayOnlyEpisodes()) {
return EpisodeFilter.accessEpisodeByIndex(objects, position);
} else {
return super.getItem(position);
}
}
-
- public void toggleExpandedState() {
- isExpanded = !isExpanded;
- notifyDataSetChanged();
- }
}
diff --git a/src/de/danoeh/antennapod/adapter/ExternalEpisodesListAdapter.java b/src/de/danoeh/antennapod/adapter/ExternalEpisodesListAdapter.java
index 2670dfa44..ff3684d80 100644
--- a/src/de/danoeh/antennapod/adapter/ExternalEpisodesListAdapter.java
+++ b/src/de/danoeh/antennapod/adapter/ExternalEpisodesListAdapter.java
@@ -1,7 +1,5 @@
package de.danoeh.antennapod.adapter;
-import java.util.List;
-
import android.content.Context;
import android.content.res.TypedArray;
import android.view.LayoutInflater;
@@ -16,6 +14,7 @@ import de.danoeh.antennapod.PodcastApp;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.asynctask.FeedImageLoader;
import de.danoeh.antennapod.feed.FeedItem;
+import de.danoeh.antennapod.feed.FeedManager;
import de.danoeh.antennapod.feed.FeedMedia;
import de.danoeh.antennapod.storage.DownloadRequester;
import de.danoeh.antennapod.util.Converter;
@@ -32,21 +31,17 @@ public class ExternalEpisodesListAdapter extends BaseExpandableListAdapter {
public static final int GROUP_POS_UNREAD = 1;
private Context context;
-
- private List<FeedItem> unreadItems;
- private List<FeedItem> queueItems;
+ private FeedManager manager = FeedManager.getInstance();
private ActionButtonCallback feedItemActionCallback;
private OnGroupActionClicked groupActionCallback;
public ExternalEpisodesListAdapter(Context context,
- List<FeedItem> unreadItems, List<FeedItem> queueItems,
ActionButtonCallback callback,
OnGroupActionClicked groupActionCallback) {
super();
this.context = context;
- this.unreadItems = unreadItems;
- this.queueItems = queueItems;
+
this.feedItemActionCallback = callback;
this.groupActionCallback = groupActionCallback;
}
@@ -58,22 +53,10 @@ public class ExternalEpisodesListAdapter extends BaseExpandableListAdapter {
@Override
public FeedItem getChild(int groupPosition, int childPosition) {
- final boolean displayOnlyEpisodes = PodcastApp.getInstance()
- .displayOnlyEpisodes();
if (groupPosition == GROUP_POS_QUEUE) {
- if (displayOnlyEpisodes) {
- return EpisodeFilter.accessEpisodeByIndex(queueItems,
- childPosition);
- } else {
- return queueItems.get(childPosition);
- }
+ return manager.getQueueItemAtIndex(childPosition, true);
} else if (groupPosition == GROUP_POS_UNREAD) {
- if (displayOnlyEpisodes) {
- return EpisodeFilter.accessEpisodeByIndex(unreadItems,
- childPosition);
- } else {
- return unreadItems.get(childPosition);
- }
+ return manager.getUnreadItemAtIndex(childPosition, true);
}
return null;
}
@@ -213,20 +196,10 @@ public class ExternalEpisodesListAdapter extends BaseExpandableListAdapter {
@Override
public int getChildrenCount(int groupPosition) {
- final boolean displayOnlyEpisodes = PodcastApp.getInstance()
- .displayOnlyEpisodes();
if (groupPosition == GROUP_POS_QUEUE) {
- if (displayOnlyEpisodes) {
- return EpisodeFilter.countItemsWithEpisodes(queueItems);
- } else {
- return queueItems.size();
- }
+ return manager.getQueueSize(true);
} else if (groupPosition == GROUP_POS_UNREAD) {
- if (displayOnlyEpisodes) {
- return EpisodeFilter.countItemsWithEpisodes(unreadItems);
- } else {
- return unreadItems.size();
- }
+ return manager.getUnreadItemsSize(true);
}
return 0;
}
@@ -254,12 +227,12 @@ public class ExternalEpisodesListAdapter extends BaseExpandableListAdapter {
String headerString = null;
if (groupPosition == 0) {
headerString = context.getString(R.string.queue_label);
- if (!queueItems.isEmpty()) {
+ if (manager.getQueueSize(true) > 0) {
headerString += " (" + getChildrenCount(GROUP_POS_QUEUE) + ")";
}
} else {
headerString = context.getString(R.string.new_label);
- if (!unreadItems.isEmpty()) {
+ if (manager.getUnreadItemsSize(true) > 0) {
headerString += " (" + getChildrenCount(GROUP_POS_UNREAD) + ")";
}
}
@@ -277,7 +250,8 @@ public class ExternalEpisodesListAdapter extends BaseExpandableListAdapter {
@Override
public boolean isEmpty() {
- return unreadItems.isEmpty() && queueItems.isEmpty();
+ return manager.getUnreadItemsSize(true) == 0
+ && manager.getQueueSize(true) == 0;
}
@Override
diff --git a/src/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java b/src/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
index 5941d52ea..b03dd0c1f 100644
--- a/src/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
+++ b/src/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
@@ -5,7 +5,6 @@ import java.util.List;
import android.content.Context;
import android.content.res.TypedArray;
-import android.graphics.Typeface;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;