package de.danoeh.antennapod.core.event;
import java.util.Arrays;
import java.util.List;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.service.download.Downloader;
import de.danoeh.antennapod.core.util.LongList;
public class DownloaderUpdate {
/* Downloaders that are currently running */
public final List<Downloader> downloaders;
/**
* IDs of feeds that are currently being downloaded
* Often used to show some progress wheel in the action bar
*/
public final long[] feedIds;
/**
* IDs of feed media that are currently being downloaded
* Can be used to show and update download progress bars
*/
public final long[] mediaIds;
public DownloaderUpdate(List<Downloader> downloaders) {
this.downloaders = downloaders;
LongList feedIds1 = new LongList(), mediaIds1 = new LongList();
for(Downloader d1 : downloaders) {
int type = d1.getDownloadRequest().getFeedfileType();
long id = d1.getDownloadRequest().getFeedfileId();
if(type == Feed.FEEDFILETYPE_FEED) {
feedIds1.add(id);
} else if(type == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
mediaIds1.add(id);
}
}
this.feedIds = feedIds1.toArray();
this.mediaIds = mediaIds1.toArray();
}
@Override
public String toString() {
return "DownloaderUpdate{" +
"downloaders=" + downloaders +
", feedIds=" + Arrays.toString(feedIds) +
", mediaIds=" + Arrays.toString(mediaIds) +
'}';
}
}