diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-05-10 13:01:38 -0400 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-05-10 13:01:38 -0400 |
commit | fc8a7ad9e0957a5d925812154b217d2248a91dd9 (patch) | |
tree | ebbf3d493fec2e45eb718d5bf95501f0dbd9fae3 /app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | |
parent | 2cfd15fe88b216e922fb066eaba43fc776a90a69 (diff) | |
parent | 9ec0d735c86c62c2d2a65229c1f1bf8e0e44dec5 (diff) | |
download | AntennaPod-fc8a7ad9e0957a5d925812154b217d2248a91dd9.zip |
Merge pull request #797 from mfietz/feature/feed_items_filter
Feed episode filter
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java index f872284a4..b16de1959 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java @@ -24,6 +24,7 @@ import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; +import com.joanzapata.android.iconify.Iconify; import com.squareup.picasso.Picasso; import org.apache.commons.lang3.Validate; @@ -42,7 +43,9 @@ import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.Feed; +import de.danoeh.antennapod.core.feed.FeedEvent; import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.feed.FeedItemFilter; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.feed.QueueEvent; import de.danoeh.antennapod.core.service.download.DownloadService; @@ -55,7 +58,6 @@ import de.danoeh.antennapod.core.util.LongList; import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil; import de.danoeh.antennapod.menuhandler.FeedMenuHandler; import de.danoeh.antennapod.menuhandler.MenuItemUtils; -import de.danoeh.antennapod.menuhandler.NavDrawerActivity; import de.greenrobot.event.EventBus; /** @@ -89,6 +91,8 @@ public class ItemlistFragment extends ListFragment { private boolean isUpdatingFeed; + private TextView txtvInformation; + /** * Creates new ItemlistFragment which shows the Feeditems of a specific * feed. Sets 'showFeedtitle' to false @@ -291,6 +295,13 @@ public class ItemlistFragment extends ListFragment { startItemLoader(); } + public void onEvent(FeedEvent event) { + Log.d(TAG, "onEvent(" + event + ")"); + if(event.feedId == feedID) { + startItemLoader(); + } + } + private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { @Override @@ -330,6 +341,7 @@ public class ItemlistFragment extends ListFragment { downloadObserver = new DownloadObserver(getActivity(), new Handler(), downloadObserverCallback); downloadObserver.onResume(); } + refreshHeaderView(); setListShown(true); adapter.notifyDataSetChanged(); @@ -343,6 +355,22 @@ public class ItemlistFragment extends ListFragment { } + private void refreshHeaderView() { + if(feed.getItemFilter() != null) { + FeedItemFilter filter = feed.getItemFilter(); + if(filter.getValues().length > 0) { + txtvInformation.setText("{fa-info-circle} " + this.getString(R.string.filtered_label)); + Iconify.addIcons(txtvInformation); + txtvInformation.setVisibility(View.VISIBLE); + } else { + txtvInformation.setVisibility(View.GONE); + } + } else { + txtvInformation.setVisibility(View.GONE); + } + } + + private DownloadObserver.Callback downloadObserverCallback = new DownloadObserver.Callback() { @Override public void onContentChanged() { @@ -376,6 +404,7 @@ public class ItemlistFragment extends ListFragment { ImageView imgvBackground = (ImageView) header.findViewById(R.id.imgvBackground); ImageView imgvCover = (ImageView) header.findViewById(R.id.imgvCover); ImageButton butShowInfo = (ImageButton) header.findViewById(R.id.butShowInfo); + txtvInformation = (TextView) header.findViewById(R.id.txtvInformation); txtvTitle.setText(feed.getTitle()); txtvAuthor.setText(feed.getAuthor()); @@ -488,6 +517,10 @@ public class ItemlistFragment extends ListFragment { Context context = getActivity(); if (context != null) { Feed feed = DBReader.getFeed(context, feedID); + if(feed.getItemFilter() != null) { + FeedItemFilter filter = feed.getItemFilter(); + feed.setItems(filter.filter(context, feed.getItems())); + } LongList queue = DBReader.getQueueIDList(context); return Pair.create(feed, queue); } else { |