diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java index d56bfc587..b39e23d42 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java @@ -7,9 +7,16 @@ import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; -import android.widget.*; +import android.widget.Adapter; +import android.widget.BaseAdapter; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.nineoldandroids.view.ViewHelper; + import de.danoeh.antennapod.R; -import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.feed.MediaType; @@ -105,22 +112,15 @@ public class FeedItemlistAdapter extends BaseAdapter { } holder.title.setText(buffer.toString()); - FeedItem.State state = item.getState(); - switch (state) { - case PLAYING: - holder.statusUnread.setVisibility(View.INVISIBLE); - holder.episodeProgress.setVisibility(View.VISIBLE); - break; - case IN_PROGRESS: - holder.statusUnread.setVisibility(View.INVISIBLE); - holder.episodeProgress.setVisibility(View.VISIBLE); - break; - case NEW: - holder.statusUnread.setVisibility(View.VISIBLE); - break; - default: - holder.statusUnread.setVisibility(View.INVISIBLE); - break; + if(false == item.isRead() && itemAccess.isNew(item)) { + holder.statusUnread.setVisibility(View.VISIBLE); + } else { + holder.statusUnread.setVisibility(View.INVISIBLE); + } + if(item.isRead()) { + ViewHelper.setAlpha(convertView, 0.5f); + } else { + ViewHelper.setAlpha(convertView, 1.0f); } holder.published.setText(DateUtils.formatDateTime(context, item.getPubDate().getTime(), DateUtils.FORMAT_ABBREV_ALL)); @@ -146,10 +146,10 @@ public class FeedItemlistAdapter extends BaseAdapter { item.getMedia())) { holder.episodeProgress.setVisibility(View.VISIBLE); holder.episodeProgress.setProgress(((ItemAccess) itemAccess).getItemDownloadProgressPercent(item)); - holder.published.setVisibility(View.GONE); } else { - holder.episodeProgress.setVisibility(View.GONE); - holder.published.setVisibility(View.VISIBLE); + if(media.getPosition() == 0) { + holder.episodeProgress.setVisibility(View.GONE); + } } TypedArray typeDrawables = context.obtainStyledAttributes( @@ -211,14 +211,18 @@ public class FeedItemlistAdapter extends BaseAdapter { notifyDataSetChanged(); } - public static interface ItemAccess { - public boolean isInQueue(FeedItem item); + public interface ItemAccess { + + boolean isInQueue(FeedItem item); int getItemDownloadProgressPercent(FeedItem item); int getCount(); FeedItem getItem(int position); + + boolean isNew(FeedItem item); + } } |