summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
diff options
context:
space:
mode:
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.java50
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);
+
}
}