diff options
Diffstat (limited to 'src/de/danoeh/antennapod/adapter/InternalFeedItemlistAdapter.java')
-rw-r--r-- | src/de/danoeh/antennapod/adapter/InternalFeedItemlistAdapter.java | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/src/de/danoeh/antennapod/adapter/InternalFeedItemlistAdapter.java b/src/de/danoeh/antennapod/adapter/InternalFeedItemlistAdapter.java deleted file mode 100644 index 4681284f5..000000000 --- a/src/de/danoeh/antennapod/adapter/InternalFeedItemlistAdapter.java +++ /dev/null @@ -1,230 +0,0 @@ -package de.danoeh.antennapod.adapter; - -import android.content.Context; -import android.content.res.TypedArray; -import android.text.format.DateUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.*; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.feed.FeedItem; -import de.danoeh.antennapod.feed.FeedMedia; -import de.danoeh.antennapod.feed.MediaType; -import de.danoeh.antennapod.storage.DownloadRequester; -import de.danoeh.antennapod.util.Converter; -import de.danoeh.antennapod.util.ThemeUtils; - -/** List adapter for items of feeds that the user has already subscribed to. */ -public class InternalFeedItemlistAdapter extends DefaultFeedItemlistAdapter { - - private ActionButtonCallback callback; - private boolean showFeedtitle; - private int selectedItemIndex; - - public static final int SELECTION_NONE = -1; - - public InternalFeedItemlistAdapter(Context context, - ItemAccess itemAccess, - ActionButtonCallback callback, boolean showFeedtitle) { - super(context, itemAccess); - this.callback = callback; - this.showFeedtitle = showFeedtitle; - this.selectedItemIndex = SELECTION_NONE; - } - - @Override - public View getView(final int position, View convertView, ViewGroup parent) { - Holder holder; - final FeedItem item = getItem(position); - - if (convertView == null) { - holder = new Holder(); - LayoutInflater inflater = (LayoutInflater) getContext() - .getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = inflater.inflate(R.layout.feeditemlist_item, null); - holder.title = (TextView) convertView - .findViewById(R.id.txtvItemname); - holder.lenSize = (TextView) convertView - .findViewById(R.id.txtvLenSize); - holder.butAction = (ImageButton) convertView - .findViewById(R.id.butAction); - holder.published = (TextView) convertView - .findViewById(R.id.txtvPublished); - holder.inPlaylist = (ImageView) convertView - .findViewById(R.id.imgvInPlaylist); - holder.downloaded = (ImageView) convertView - .findViewById(R.id.imgvDownloaded); - holder.type = (ImageView) convertView.findViewById(R.id.imgvType); - holder.downloading = (ImageView) convertView - .findViewById(R.id.imgvDownloading); - if (showFeedtitle) { - holder.feedtitle = (TextView) convertView - .findViewById(R.id.txtvFeedname); - } - holder.statusPlaying = (View) convertView - .findViewById(R.id.statusPlaying); - holder.statusUnread = (View) convertView - .findViewById(R.id.statusUnread); - holder.episodeProgress = (ProgressBar) convertView - .findViewById(R.id.pbar_episode_progress); - - convertView.setTag(holder); - } else { - holder = (Holder) convertView.getTag(); - } - if (!(getItemViewType(position) == Adapter.IGNORE_ITEM_VIEW_TYPE)) { - convertView.setVisibility(View.VISIBLE); - if (position == selectedItemIndex) { - convertView.setBackgroundColor(convertView.getResources() - .getColor(ThemeUtils.getSelectionBackgroundColor())); - } else { - convertView.setBackgroundResource(0); - } - - holder.title.setText(item.getTitle()); - if (showFeedtitle) { - holder.feedtitle.setVisibility(View.VISIBLE); - holder.feedtitle.setText(item.getFeed().getTitle()); - } - - FeedItem.State state = item.getState(); - switch (state) { - case PLAYING: - holder.statusPlaying.setVisibility(View.VISIBLE); - holder.statusUnread.setVisibility(View.GONE); - holder.episodeProgress.setVisibility(View.VISIBLE); - break; - case IN_PROGRESS: - holder.statusPlaying.setVisibility(View.GONE); - holder.statusUnread.setVisibility(View.GONE); - holder.episodeProgress.setVisibility(View.VISIBLE); - break; - case NEW: - holder.statusPlaying.setVisibility(View.GONE); - holder.statusUnread.setVisibility(View.VISIBLE); - holder.episodeProgress.setVisibility(View.GONE); - break; - default: - holder.statusPlaying.setVisibility(View.GONE); - holder.statusUnread.setVisibility(View.GONE); - holder.episodeProgress.setVisibility(View.GONE); - break; - } - - holder.published.setText(convertView.getResources().getString( - R.string.published_prefix) - + DateUtils.getRelativeTimeSpanString( - item.getPubDate().getTime(), - System.currentTimeMillis(), 0, 0)); - - FeedMedia media = item.getMedia(); - if (media == null) { - holder.downloaded.setVisibility(View.GONE); - holder.downloading.setVisibility(View.GONE); - holder.inPlaylist.setVisibility(View.GONE); - holder.type.setVisibility(View.GONE); - holder.lenSize.setVisibility(View.GONE); - } else { - - if (state == FeedItem.State.PLAYING - || state == FeedItem.State.IN_PROGRESS) { - if (media.getDuration() > 0) { - holder.episodeProgress - .setProgress((int) (((double) media - .getPosition()) / media.getDuration() * 100)); - holder.lenSize.setText(Converter - .getDurationStringLong(media.getDuration() - - media.getPosition())); - } - } else if (!media.isDownloaded()) { - holder.lenSize.setText(getContext().getString( - R.string.size_prefix) - + Converter.byteToString(media.getSize())); - } else { - holder.lenSize.setText(getContext().getString( - R.string.length_prefix) - + Converter.getDurationStringLong(media - .getDuration())); - } - - holder.lenSize.setVisibility(View.VISIBLE); - if (((ItemAccess) itemAccess).isInQueue(item)) { - holder.inPlaylist.setVisibility(View.VISIBLE); - } else { - holder.inPlaylist.setVisibility(View.GONE); - } - if (item.getMedia().isDownloaded()) { - holder.downloaded.setVisibility(View.VISIBLE); - } else { - holder.downloaded.setVisibility(View.GONE); - } - - if (DownloadRequester.getInstance().isDownloadingFile( - item.getMedia())) { - holder.downloading.setVisibility(View.VISIBLE); - } else { - holder.downloading.setVisibility(View.GONE); - } - - TypedArray typeDrawables = getContext().obtainStyledAttributes( - new int[] { R.attr.type_audio, R.attr.type_video }); - final int[] labels = new int[] {R.string.media_type_audio_label, R.string.media_type_video_label}; - - MediaType mediaType = item.getMedia().getMediaType(); - if (mediaType == MediaType.AUDIO) { - holder.type.setImageDrawable(typeDrawables.getDrawable(0)); - holder.type.setContentDescription(getContext().getString(labels[0])); - holder.type.setVisibility(View.VISIBLE); - } else if (mediaType == MediaType.VIDEO) { - holder.type.setImageDrawable(typeDrawables.getDrawable(1)); - holder.type.setContentDescription(getContext().getString(labels[1])); - holder.type.setVisibility(View.VISIBLE); - } else { - holder.type.setImageBitmap(null); - holder.type.setVisibility(View.GONE); - } - } - - holder.butAction.setFocusable(false); - holder.butAction.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View v) { - callback.onActionButtonPressed(item); - } - }); - - } else { - convertView.setVisibility(View.GONE); - } - return convertView; - - } - - static class Holder extends DefaultFeedItemlistAdapter.Holder { - TextView feedtitle; - ImageView inPlaylist; - ImageView downloaded; - ImageView downloading; - ImageButton butAction; - View statusUnread; - View statusPlaying; - ProgressBar episodeProgress; - } - - public int getSelectedItemIndex() { - return selectedItemIndex; - } - - public void setSelectedItemIndex(int selectedItemIndex) { - this.selectedItemIndex = selectedItemIndex; - notifyDataSetChanged(); - } - - public static interface ItemAccess extends DefaultFeedItemlistAdapter.ItemAccess { - public boolean isInQueue(FeedItem item); - } - -} |