diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java new file mode 100644 index 000000000..c8cdbcfed --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java @@ -0,0 +1,55 @@ +package de.danoeh.antennapod.fragment.gpodnet; + +import android.os.Bundle; +import android.support.annotation.Nullable; + +import org.apache.commons.lang3.Validate; + +import java.util.List; + +import de.danoeh.antennapod.activity.MainActivity; +import de.danoeh.antennapod.core.gpoddernet.GpodnetService; +import de.danoeh.antennapod.core.gpoddernet.GpodnetServiceException; +import de.danoeh.antennapod.core.gpoddernet.model.GpodnetPodcast; +import de.danoeh.antennapod.core.gpoddernet.model.GpodnetTag; + +/** + * Shows all podcasts from gpodder.net that belong to a specific tag. + * Use the newInstance method of this class to create a new TagFragment. + */ +public class TagFragment extends PodcastListFragment { + + private static final String TAG = "TagFragment"; + private static final int PODCAST_COUNT = 50; + + private GpodnetTag tag; + + public static TagFragment newInstance(String tagName) { + Validate.notNull(tagName); + TagFragment fragment = new TagFragment(); + Bundle args = new Bundle(); + args.putString("tag", tagName); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Bundle args = getArguments(); + Validate.isTrue(args != null && args.getString("tag") != null, "args invalid"); + tag = new GpodnetTag(args.getString("tag")); + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + ((MainActivity) getActivity()).getMainActivtyActionBar().setTitle(tag.getName()); + } + + @Override + protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException { + return service.getPodcastsForTag(tag, PODCAST_COUNT); + } +} |