summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/util/EpisodeFilter.java
blob: ee627b1619d527bd56508b539e3b69361fb71e10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package de.danoeh.antennapod.util;

import java.util.ArrayList;
import java.util.List;

import de.danoeh.antennapod.feed.FeedItem;

public class EpisodeFilter {
	private EpisodeFilter() {

	}

	/** Return a copy of the itemlist without items which have no media. */
	public static ArrayList<FeedItem> getEpisodeList(List<FeedItem> items) {
		ArrayList<FeedItem> episodes = new ArrayList<FeedItem>(items);
		for (FeedItem item : items) {
			if (item.getMedia() == null) {
				episodes.remove(item);
			}
		}
		return episodes;
	}

	public static int countItemsWithEpisodes(List<FeedItem> items) {
		int count = 0;
		for (FeedItem item : items) {
			if (item.getMedia() != null) {
				count++;
			}
		}
		return count;
	}

	public static FeedItem accessEpisodeByIndex(List<FeedItem> items,
			int position) {
		int count = 0;
		for (FeedItem item : items) {

			if (item.getMedia() != null) {
				if (count == position) {
					return item;
				} else {
					count++;
				}
			}
		}
		return null;
	}
}