diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-02-24 10:46:10 +0100 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-02-24 10:46:10 +0100 |
commit | 56f199dc8c69d7e24d0e05613f9911c323cb46a6 (patch) | |
tree | 6ef20851c871d7ef4f47d5c75df0a8fb7262eb8b /src/de/danoeh/antennapod/adapter | |
parent | cca91b12b9df7c23121b4c01172863ff64d35cfe (diff) | |
download | AntennaPod-56f199dc8c69d7e24d0e05613f9911c323cb46a6.zip |
Added UserPreferences class, limit access to unreadItems and queue
Diffstat (limited to 'src/de/danoeh/antennapod/adapter')
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; |